View previous topic :: View next topic |
Author |
Message |
bazik Retired Dev
Joined: 22 Jul 2002 Posts: 277 Location: Behind you.
|
Posted: Tue Nov 19, 2002 2:05 pm Post subject: Please suggest me a Programming Language |
|
|
Hi!
I am currently searching for a new programming language because I have to make some GUI applications under Linux in the near future... mainly something with TCP communication, string parsing, data displaying (Listview, Textbox etc) and maybe also Database access (SQL, ODBC etc).
Maybe you know any programming language for Linux which supports this?
I already know C/C++, some Java (dont like either of these), most "basic"-dialects (primary Windows based like PowerBasic), did some Pascal stuff and am almost perfect in assembly ( ).
OOP is not required plus I never was a fan.of.these.dotted.writing.style.
But that doesnt mean I wont use a OOP language
Most important for me is the GUI creation... I'd prefer something that uses GTK or anything else... just please no QT (don't ask why, I simply dont want QT).
Thanks in advance,
bazik |
|
Back to top |
|
|
choward Tux's lil' helper
Joined: 08 Nov 2002 Posts: 92
|
Posted: Tue Nov 19, 2002 2:31 pm Post subject: |
|
|
Python! It's very easy to develop in, has bindings to many graphical toolkits, handles strings very well (built in regexs) and allows time critical parts to be written in C if you need it. It's also easy to learn; if you already know a few languages, you should be able to pick it up in a few days. _________________ Craig Howard
4B Computer Science -- University of Waterloo |
|
Back to top |
|
|
bazik Retired Dev
Joined: 22 Jul 2002 Posts: 277 Location: Behind you.
|
Posted: Tue Nov 19, 2002 3:16 pm Post subject: |
|
|
choward,
thanks for your reply! Well, a friend on mine is also very impressed about Python and I already thought about it...
I'll read some source code and see if Python fits my needs (hey, who needs tutorials? ). |
|
Back to top |
|
|
pizen Apprentice
Joined: 23 Jun 2002 Posts: 213 Location: Atlanta, GA, USA
|
Posted: Tue Nov 19, 2002 5:05 pm Post subject: |
|
|
I say go with Perl. Just use Perl/Tk and you're good to go with the GUI stuff. Plus, Perl rocks. |
|
Back to top |
|
|
mooman Apprentice
Joined: 06 Nov 2002 Posts: 175 Location: Vancouver, WA
|
Posted: Tue Nov 19, 2002 8:41 pm Post subject: |
|
|
Linux + Gui + Pascal + (optional OOP) = Kylix!
I'll admit I haven't used Kylix much myself, but as a former Delphi developer, I think it's probably a pretty good environment to develop in...
Let us know what you go with... _________________ Linux user off and on since circa 1995 |
|
Back to top |
|
|
masseya Bodhisattva
Joined: 17 Apr 2002 Posts: 2602 Location: Baltimore, MD
|
Posted: Tue Nov 19, 2002 9:16 pm Post subject: |
|
|
The two most popular GUI toolkits of python are tk and Qt. You have said you don't want Qt, so that leaves tk. I would recommend python and tk if you don't know python or perl. If you know perl already then you might as well use perl/tk. _________________ if i never try anything, i never learn anything..
if i never take a risk, i stay where i am.. |
|
Back to top |
|
|
fghellar Bodhisattva
Joined: 10 Apr 2002 Posts: 856 Location: Porto Alegre, BR
|
|
Back to top |
|
|
aja l33t
Joined: 26 Aug 2002 Posts: 705 Location: Edmonton, Canada
|
Posted: Wed Nov 20, 2002 1:30 am Post subject: |
|
|
You may also want to consider ruby, which is another of the up-and-coming OOP languages being offered in the same arena as Perl/Python. There is info on Ruby gui interfaces at
http://www.perfectxml.com/syngress/ruby/Page1.asp
I'd also add a personal vote for Python/Tk if you don't already know Perl. |
|
Back to top |
|
|
aja l33t
Joined: 26 Aug 2002 Posts: 705 Location: Edmonton, Canada
|
Posted: Wed Nov 20, 2002 1:33 am Post subject: |
|
|
mooman wrote: | Linux + Gui + Pascal + (optional OOP) = Kylix!
I'll admit I haven't used Kylix much myself, but as a former Delphi developer, I think it's probably a pretty good environment to develop in...
|
I haven't tried it yet either, but the latest (Kylix 3) also includes C++ code support. The idea of cross-platform development is pretty cool. Those interested should note that a recent edition of Linux Format magazine (out of the UK) includes (on the accompanying disk) Kylix 3 Open Edition, as well as a pile of other development stuff. Saves a long and competitve download from Borland. |
|
Back to top |
|
|
Errtu Apprentice
Joined: 12 Nov 2002 Posts: 155 Location: Brazil
|
Posted: Wed Nov 20, 2002 12:55 pm Post subject: |
|
|
hey, doesn't anyone code in TCL anymore? |
|
Back to top |
|
|
bazik Retired Dev
Joined: 22 Jul 2002 Posts: 277 Location: Behind you.
|
Posted: Wed Nov 20, 2002 1:00 pm Post subject: |
|
|
Hi and thanks for the replies!
Well, I didnt like Delphi much under Windows and doubt I like Kylix under Linux
After reading some docs it seems like Python is my weapon of choice |
|
Back to top |
|
|
hassan_1321 n00b
Joined: 05 Nov 2002 Posts: 36
|
Posted: Wed Nov 20, 2002 1:25 pm Post subject: |
|
|
ok what if you don't know any language... where do you guys suggest I start?
I was thinking maybe C/C++. |
|
Back to top |
|
|
fghellar Bodhisattva
Joined: 10 Apr 2002 Posts: 856 Location: Porto Alegre, BR
|
|
Back to top |
|
|
Lovechild Advocate
Joined: 17 May 2002 Posts: 2858 Location: Århus, Denmark
|
Posted: Wed Nov 20, 2002 3:00 pm Post subject: |
|
|
Python, because then I can make you my code monkey and make you enhance Portage...... MUHAHAHAHA
Ruby looks cool |
|
Back to top |
|
|
masseya Bodhisattva
Joined: 17 Apr 2002 Posts: 2602 Location: Baltimore, MD
|
Posted: Wed Nov 20, 2002 4:53 pm Post subject: |
|
|
hassan_1321 wrote: | ok what if you don't know any language... where do you guys suggest I start?
I was thinking maybe C/C++. |
I want to second fgheller's nomination. Python is an excellent firstl language. It forces many good habits because of it's required spacing. _________________ if i never try anything, i never learn anything..
if i never take a risk, i stay where i am.. |
|
Back to top |
|
|
mooman Apprentice
Joined: 06 Nov 2002 Posts: 175 Location: Vancouver, WA
|
Posted: Wed Nov 20, 2002 6:31 pm Post subject: |
|
|
hassan_1321 wrote: | ok what if you don't know any language... where do you guys suggest I start?
I was thinking maybe C/C++. |
Whoa. No, I'd never recommend C/C++ as a first language. One of my old college professors used to say "C will always give you enough rope to hang yourself". You're basicially proposing starting with one of the more challenging languages out there... at least one that has the most chances to bite you..
In this day and age, I'd start with a scripting language (PHP, Python, etc) and graduate to C/C++ later. Scripting languages offer the most "instant gratitification" with the least headache. PERL is probably a little strange for a first jaunt, but not too hard to pick up with some other experience. There are lots of neat new (albeit not very widespread) languages too like Ruby, Icon, and Zope. But you'll find more (and therefore hopefully better) books and resources if you stick with the more popular languages...
(This opinion is based on based on my background which includes to date: BASIC, FORTH, 68000 Assembly, Pascal, Delphi, C, C++, Java, JavaScript, ASP, ColdFusion, and some PERL, along with psuedolanguages like Installshield, SQL, HTML, and so on.) _________________ Linux user off and on since circa 1995 |
|
Back to top |
|
|
mooman Apprentice
Joined: 06 Nov 2002 Posts: 175 Location: Vancouver, WA
|
Posted: Wed Nov 20, 2002 6:35 pm Post subject: |
|
|
And by the way, for you PHP folks (well, actually anyone that has it installed, not just developers), they just posted a security announcement about it under Gentoo. _________________ Linux user off and on since circa 1995 |
|
Back to top |
|
|
gorshing n00b
Joined: 18 Nov 2002 Posts: 39 Location: Oklahoma, US
|
Posted: Wed Nov 20, 2002 8:54 pm Post subject: |
|
|
Why all the scripting languages?? I was thinking more along the lines of C. I haven't ever done GUI on Linux though so ........ Don't know.
I wouldn't think that Phyton or anything else would be good for a processor or server type of application .. except using C.
I'm not a kiddie wanting instant gratification of some GUI stuff, so why mess with something that you probably won't use .. other than a stepping stone.
Obvisouly we aren't stupid here, so ( again ) why learn Phython, if you can do it in C?
Sorry, I just like C and Assembly. |
|
Back to top |
|
|
choward Tux's lil' helper
Joined: 08 Nov 2002 Posts: 92
|
Posted: Wed Nov 20, 2002 9:21 pm Post subject: |
|
|
gorshing wrote: |
I wouldn't think that Phyton or anything else would be good for a processor or server type of application .. except using C. |
By processor, do you mean something that processes text? You can't seriously say that C is the best way to process text. There is not first-class string data type in C (or C++)! Avoiding memory leaks, buffer overruns, etc. is tough for the most seasoned programmers, I definately would _not_ recommend it for someone just learning.
gorshing wrote: |
Obvisouly we aren't stupid here, so ( again ) why learn Phython, if you can do it in C? |
Why use C? Why not just write the opcodes out by hand? I'm not stupid, I could figure it out.
Ease of programming is one thing that is _so_ often overlooked. Sure it may be 100% faster, but for 99.5% of the applications written now, isn't programmer time more valuable than execution time? If it's easier (and faster) to write a correct, maintainable program in Python, than that's what it should be written in, unless you're writing something _absolutely_ speed (or hardware) critical. Even if it is speed critical, write it in python, profile it, and rewrite the time critical section in C/C++. Python has that support built in. _________________ Craig Howard
4B Computer Science -- University of Waterloo |
|
Back to top |
|
|
aja l33t
Joined: 26 Aug 2002 Posts: 705 Location: Edmonton, Canada
|
Posted: Wed Nov 20, 2002 9:44 pm Post subject: |
|
|
I'm goign to have to weigh in agreeing with choward. I code almost exclusively in C++, and that is the language we primarily teach at my institution. However, I don'r recommend it as a first language for basically the same reasons given above. I similarly don'r recommend perl, with the argument that "there's a bazillion ways to do it" is great for a seasoned programmer but not so helpful for a beginner - and any language that permits code obfuscation to that point is just not what you want to feed to freshmen.
That being said, so-called 'scripting languages' are excellent teaching tools, provided that they are truly object-oriented (as python and ruby are). Performance in terms of clock cycles is not the initial goal in learning to program - elegance and architectural efficiency are.
Final point - in the past, a lot of languages that were used as 'teaching languages' were horribly broken for the sake of teaching ease or simplicity (pascal is the canonical example). Avoid pascal, fortran, and basic as a first programming language. God knows how many potential wizards were crippled forever by them... |
|
Back to top |
|
|
mmealman Guru
Joined: 02 Nov 2002 Posts: 348 Location: Florida
|
Posted: Wed Nov 20, 2002 11:25 pm Post subject: Why |
|
|
gorshing wrote: | Obvisouly we aren't stupid here, so ( again ) why learn Phython, if you can do it in C?
|
Because you can code it more quickly, more easily, and with fewer bugs in a scripting language than C.
C is like a Porsche without brakes. It's fast as hell, but it's really easy to get into trouble.
Why use C if you don't need it's speed or stuff like pointers? |
|
Back to top |
|
|
MacMasta Guru
Joined: 18 Apr 2002 Posts: 545 Location: Anchorage, AK
|
Posted: Thu Nov 21, 2002 12:19 am Post subject: |
|
|
I'd suggest perl - fast, staightforward, has hashes (I don't know what else has them, if anything, but they are awesome) and regexs (I see python has those) are way too much fun. And it's a scripting language, and will run literally anywhere.
Honestly, though, the one true first language would be brainfuck, right?
~Mac~ |
|
Back to top |
|
|
aja l33t
Joined: 26 Aug 2002 Posts: 705 Location: Edmonton, Canada
|
Posted: Thu Nov 21, 2002 1:05 am Post subject: |
|
|
MacMasta wrote: | I'd suggest perl ... has hashes (I don't know what else has them, if anything, but they are awesome) |
Python natively supports hashes. It just calls them dictionaries. And, you're right, full regexp support. |
|
Back to top |
|
|
hassan_1321 n00b
Joined: 05 Nov 2002 Posts: 36
|
Posted: Thu Nov 21, 2002 1:52 am Post subject: |
|
|
thanks for all the input I think I will start reading up on python and take it from there, thanks again |
|
Back to top |
|
|
aja l33t
Joined: 26 Aug 2002 Posts: 705 Location: Edmonton, Canada
|
Posted: Thu Nov 21, 2002 3:38 am Post subject: |
|
|
hassan_1321 wrote: | thanks for all the input I think I will start reading up on python and take it from there, thanks again |
O'Reilly has several good books on Python. The "Learning Python" (Picture of a Rat) is an excellent introduction for beginners, and "Programming Python" (Picture of a (you got it) Python) is a comprehensive survey of the language. Several good sources may also be found on the net:
http://www.python.org/doc/Intros.html
Have a good time - It is an excellent starting language and will serve you well moving into other languages like C++ and Java. |
|
Back to top |
|
|
|