Language of choice after C++

This is a discussion on Language of choice after C++ within the A Brief History of Cprogramming.com forums, part of the Community Boards category; I know you guyz all love C++ very much. Me too. But to depend only for one language is not ...

Language of choice after C++

I know you guyz all love C++ very much. Me too. But to depend only for one language is not wise. So I started to learn another language. I learn C#, Java, Python. I learn just a little. I know ideally it would be good to master all language so you can choose the most suitable language for project. But 24 hours / day is not enough to learn all the things. So you have to choose to master only one language more.

It is hard to decide which language I should learn. I have try them all and still I cann't choose the perfect one for me.

Java
The documentation is very good. Multiplatform. You don't have to pay fee to learn this language. There are some in-depth tutorials in internet like from Sun website and Bruce Eckel. But I never like the GUI.

C#
Not really multiplatform. I know there is project called Mono but it is still not mature. But the language is cool. To master this language, you have to buy book because I cann't find free in-depth tutorial in internet.

Python
Cool but.... I have not test this language very much. There are good tutorials outthere in internet so you don't have to pay fee to learn this language.

They are all good. Right now I want to buy C# programming book because I choose C#. I don't have really good reason to choose C#. I just choose because I have to choose. Before I started learning this language, maybe you guyz could change my mind. Maybe there are suggestion from you guyz..... Before I dig in C# programming world, maybe you have some advice.... ( maybe " Don't choose C# because bla bla bla" or "That is the best language..., babe! YOu have done right thing" )

VB has to be my "second language"... mainly because it's fast to develop with and that's what they use here where I work. But that's just on the PC development side... I'm more a fan of the web languages: PHP/Javascript... I think I could happily program in PHP all day long everyday. Heck, I'm in the process of migrating some of our desktop applications to a web-based platform and I can't imagine why anyone every did it any other way (besides lacking in tools/experience).

C# - excellent language. I love it. However, like it has already been said, it is not really multiplatform. Microsoft is focusing on C# for Windows only and it doesnt look like they plan to port it anywhere else.

Java - also a good language, and easier to write code in with the new language options now being put in. I think Java is not very ideal for desktop applications, and that other languages are much better for that, but I think Java is very ideal for embedded programs. Like in cell phones and such. That is the good thing about Java, it can be used on almost any platform you can think of.

>But to depend only for one language is not wise.
How wise of you to say so.

>I know ideally it would be good to master all language so you can choose the most suitable language for project.
Even in an ideal world, mastering all languages would be a little much. A popular subset and vigilant watch on what's popular will do nicely.

>I just choose because I have to choose.
You don't have to choose. You can work toward a better understanding of C++. That would help you learn other languages. You can learn general programming techniques and concepts that can be used in any language and implement them in C++. You can see what the C-ites are up to.

At the very least I feel that you should be competent in C, C++, Java and at least one scripting language such as Perl or Python. Learning a language like Lisp provides valuable lessons as well as pulls you away from the Algol-like syntax of C, C++ and Java. Once you have that base, meaning you don't have to master these languages, just be able to use them without copying out of a beginners manual, branch out based on what you see being used in the marketplace and what interests you.

Or you could do what I did and just do what's most interesting. When something more interesting pops up, do that too.

I used to work for a company called Bath Iron Works (I believe now a part of a company called General Dynamics since I've left). Although my job there was not design, I was able to see various "simulation" programs in the design phase of various ships. Surprisingly, the most commonly used language at the time to write and control the in-house simulations that I saw was ada (which I don't have any experience with by the way). I don't know if ada is a language designed for simulations (like list programming language is evidently designed for artificial intelligence).

Another neat 'language' that I've seen is the Adaptive Modeling Languagehttp://www.technosoft.com/aml.php
it basically is an API for engineering design. This, and some other software (tecpilot), is how I got into graphics and programming (although I have done no professional work with AML).

Learn Python. it is an ubelievable language. easy to use and productive as c/c++. download from here and start programming and becoming productive in less than half an hour guranteed. here are some tutorials . With python you can do pretty much anything you can with the "other" languages. you have a plethora of gui toolkits to choose from, you can do games ,web programming. Nokia even loves python so much they are adding it as a developer tool , so you can start coding for their phones. Think of the possibilities!!!!!

You even get to go away from the "C" type language becuase of its unique syntax. You code in python almost like your talking. Unbelievable.

I was thinking more in an ASM direction... You have alot more control over the machine, and it's very multiplatform... Even though I don't know it, it's what I would choose if I decided to learn another language, which I wont.

asm is not multiplatform, each chip can have its own asm commands, so it usually only works on one chip, unless all you are doing is simple commands. If you need to use cpu-specific extentions, the reason to use asm (to speed up multimedia, etc), your code will work on only one chip, or chips that support those extentions.

>easy to use and productive as c/c++.
More productive because it abstracts away the more powerful parts of C and C++.

>With python you can do pretty much anything you can with the "other" languages.
Provided you ignore mundane concerns like performance. I wouldn't want a frequently called yet complex system call to be implemented in Python, thank you.

Python is excellent for prototyping as well as for production applications in some fields. The syntax is simple and easy to learn. I would rate the language as good all around, but it does have some issues that would make me think twice about "PYTHON OWNS!!" statements. Performance being one of those. Of the popular scripting languages these days, Python is the slowest. It also lacks a vast collection of libraries like Perl (and CPAN). Of course, I could be wrong on that last point as I don't keep fully up to date on such things.

Unless the OP has a specific project in mind and can weigh the advantages and disadvantages of different languages, my suggestion still applies. Learn the language that seems most interesting.

C# is pretty good although I really don't like any language outside of C++. VB6 was quick and easy to learn and to develop in but C++ is just too powerful to give up. PHP... I use it but I don't like it very much. Its code always ends up to be messy and very inconsistant. Java is too strict and ASM is impractical.

[fanning the regligious flame]
by the way the majority of languages are an abstraction on other languages. Thats what makes them better. C a better Asm if you will, C++ a better C, Java a better C++. Python a better language period[/fanning. fanning. fanning. ]