Click to See Complete Forum and Search --> : Next step after C?


gobeavers
06-30-2005, 03:57 AM
I will be finishing up an introduction to C course this summer, and hopefully will become semi-proficent at it....so after I do that, what would be the best next language to learn? Or should I just continue with C till I achieve "master" status? I don't know much about the languages (advantages/disadvantages), but I wsa thinking about Perl, Python, or Java. It would be nice to have a language that makes it relatively easy to port programs for use in both linux and windows enviroments, but it doesn't have to. Any advice would be greatly appreciated!

mrhoyt4
06-30-2005, 05:37 AM
Depends what you are looking for. I would look at the different languages and see which one you like to structure and the features the best and learn it. Perl is a great scripting language for Unix based OS. Python is also another great scripting language and has many modules you can add for gui support and other things. Java is what many large corporation are using right now for web based services.

JayMan8081
06-30-2005, 08:10 AM
I would recommend going to Java or C++ next. You could always look into some of the C++ cross-platform libraries like wxWidgets or Qt. Whatever language you choose I would start looking at Object-Oriented Programming concepts. Just my .02 cents worth.

vhg119
07-01-2005, 12:26 PM
Learning more algorithms and data structures might be more beneficial than learning a new language. That way, you'll have tools that could be used in any other language you decide to learn in the future. And, you'll learn them better if you try them with C first. Other languages such as Java have built in classes and methods to perform tasks that C would require you to write on your own. Oh, and fully understand how pointers work (when you decide to do assembly).

-Vince

MorphiusFaydal
07-01-2005, 04:42 PM
I would recommend going to Java or C++ next. You could always look into some of the C++ cross-platform libraries like wxWidgets or Qt. Whatever language you choose I would start looking at Object-Oriented Programming concepts. Just my .02 cents worth.

yuk on QT :)

try learning some GTK/GTK+ stuff, its written in C, so you dont have to learn the changes to C++, then once you know that pretty well... then i guess you can learn C++ and wxWidgets and QT

just my USD 0.02

Digi
07-01-2005, 05:32 PM
C was my first language, I picked up Assembly next, what can I say, I like BOFs

gobeavers
07-01-2005, 06:23 PM
yuk on QT :)

try learning some GTK/GTK+ stuff, its written in C, so you dont have to learn the changes to C++, then once you know that pretty well... then i guess you can learn C++ and wxWidgets and QT

just my USD 0.02

But that is linux only...if I go with python or something like that won't I be able to program for windows also?

And does perl work for windows too?

MorphiusFaydal
07-01-2005, 10:12 PM
But that is linux only...if I go with python or something like that won't I be able to program for windows also?

And does perl work for windows too?

Actually, there is a GTK port for windows, but, AFAIK, there isnt one for QT, and Python will run on both OSes as well.

Don't know about Perl yet.

goon12
07-02-2005, 01:54 AM
They have both source and binary release for Windows: http://www.perl.com/download.csp

gobeavers
07-02-2005, 02:07 AM
and Python will run on both OSes as well.


Does it require something the user must install seperately to run? It would be nice to have something that would run on windows/linux out of the box (like C)....

Thanks for all the advice....python is looking pretty good right now (it seems to be getting lots of attention and I like the idea of quick dev times).

ooagentbender
07-02-2005, 05:00 AM
I would recommend going to Java or C++ next. You could always look into some of the C++ cross-platform libraries like wxWidgets or Qt. Whatever language you choose I would start looking at Object-Oriented Programming concepts. Just my .02 cents worth.

skip java for the time being, c++ will serve you better and if at some time java becomes critical information in the computer world its a simple switch because of some fundamental syntax similarities.

Its all really dependant on what you want to make, you can put together nice gtk gui apps with pygtk in very few lines of code if you want to. Good luck!

bwkaz
07-02-2005, 09:26 AM
Does it require something the user must install seperately to run? Python and Perl both do. www.python.org has an installer for Python-for-Windows, though, and http://www.activestate.com/store/languages/register.plex?id=ActivePerl has a free download installer for Perl-for-Windows.

It would be nice to have something that would run on windows/linux out of the box (like C).... Never going to happen.

Microsoft wants everybody to do .net at this instant (although fairly soon .net will be old and they'll want everybody to switch again, to avalon / XAML (which is exactly the same as libglade, except that XAML isn't done yet while libglade is) -- I believe this is so that while others are busy spending time switching between programming environments, Microsoft can spend some time actually getting code audited), so they provide the .net framework on windows update. But not everybody has installed that, either, so if you do go with .net, there are still some people that will need to install something.

But if you go with .net, you'll probably run into some things that you can't do with the framework alone, and then you'll need different code for different OSes again.

Anyway... I don't think it's a big problem to require the user to install one or two things before they can run your program. Any language except C is going to require that anyway, on Windows (but the windows setups for programs written in languages other than C sometimes install the language runtime also), and on Linux, not everyone has installed the language you used.

(For PyGtk, you can bundle python plus pygtk with your program using py2exe and a setup program, or some other method, following the links from here: http://www.async.com.br/faq/pygtk/index.py?req=show&file=faq21.005.htp. Or, you can have the user follow the instructions here: http://www.async.com.br/faq/pygtk/index.py?req=show&file=faq21.002.htp -- tell them to use step 2a, not 2b or 2c (it's easiest).)

Actually, there is a GTK port for windows, but, AFAIK, there isnt one for QT, There is a Windows Qt, which is freely available to you as a developer if your program will be GPLed. I believe the runtime is freely available to the user also, although you may have to include it in your setup.

buulian
07-09-2005, 09:45 PM
Look to RealBasic (http://www.realbasic.com) I know it isn't C, C++, or even similar, but it is absolutely amazing. The best part is, is that it is a simple IDE, that has it's own language, and compiles the code into an executable for whatever platform you choose. The free (beta) version allows for same platform compilation, but for like 99 USD, you get cross-compilation. I don't know how much that matters to you, but I was in your same boat, and in search of Linux programming languages to learn- I found this and have been amazed ever since.

Word of warning, the language itself is very, very different from C. Realbasic is an Object Oriented language that sort of reminds me of Visual Basic- without the bull, and hard stuff. Plugins are available everywhere and the Linux version you just download the tar.bz2 file, and I'm sure you know the rest.

I hope that I've inspired someone to at least check this out, it's really almost too easy.