Sign in to follow this  

What language after?

This topic is 4746 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I'd suggest choosing something a bit different to C#, Java et al. Why not take a look at something like lisp? You may not want to write games with it but it'll give you a different view on programming.

Share this post


Link to post
Share on other sites
I doubt you'd want to learn Pascal, it's ok, but kind of out-dated. You might want to learn a scripting language, to create game scripts, such as Python or LISP(although, LISP is going to be pretty different from C++, so it may take some getting used to). You don't need to learn another langauge, but a scripting language can come in handy.

Share this post


Link to post
Share on other sites
How about sticking with C++ and be able to master it???
Otherwise Assembly would be a good choice to learn the basics of what is really going on...

Share this post


Link to post
Share on other sites
I'd agree that pascal is unlikely to be of much value to you, but that a language with a different philosophy would help you become a stronger programmer overall.

If employment is your main concern, you should look at job listings to figure out what employers want that you don't already have.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
SQL is a good candidate too, since you might very well end up using it in C++ projects.

Share this post


Link to post
Share on other sites
While learning Pascal after using C++ would be a step backwards IMHO, I'd recommend taking a look at the D programming language. It simplifies many things existing in C++ and adds some more. Might be an alternative to Java or C#
In case you want to take a look, here are the links:
http://digitalmars.com/d/
http://dsource.org/tutorials/

Share this post


Link to post
Share on other sites
The D Programming Language is for C++ programmers who are frustrated with minor inconsistencies and awkwardness in the language and compilers. It's not a real option for someone looking to learn more about programming and programming languages. Personally, I think it's a waste of time.

Share this post


Link to post
Share on other sites
A waste of time ? I think it's a lil bit too harsh... Sure, if one wants to change the way one looks at programming, it's better to look at very different languages. Could be Sather, Haskell, Prolog, or even a more real-world language, Python (changed much for me). I was never frustraded with C++, yet D seems so much more "Right" after programming in Python that I don't want to go back to C++

Share this post


Link to post
Share on other sites
Quote:
Original post by h3r3tic
A waste of time ? I think it's a lil bit too harsh...
Not really. What purpose is it supposed to serve? What problems does it address? What abstractions does it add?

None. None. None.

Most damning of all, how much support has it garnered in the years since its release? Pretty damn little. It's an attempt to radically reshape C++, but such attempts don't work without a significant enough break with the previous approach. C++ succeeded because it initially served as an adapter to C. After gaining sufficient momentum, despite intense criticism, it took off. D breaks with C++ too soon. It's dead in the water.

Worst of all, the programming model espoused by C++ is not viable for a new language. Single-pass parse/compile? Header files? Forward declaration? The future lies in higher levels of programmer abstraction - high-level types, multi-platform targets (via intermediate languages and JIT), language-transparent interop. D is too little, too late.

Ergo, a waste of time.

Share this post


Link to post
Share on other sites
Quote:
Original post by lord_buctree
What language should I learn after i have used C++ and OpenGL?
I was kind of thinking about C# or Java, what do you think? Pascal?

Depends on what you're after. :)

If you just want something useful, stick with C++ and get damn good at it. :)
Or grab SQL or a popular scripting language like Python or Lua.

If you want to learn completely different programming paradigms and languages, take a look at ML, Scheme or Prolog, for example.

If you want to explore more OO stuff, how about Smalltalk?

Share this post


Link to post
Share on other sites
Quote:
Original post by Oluseyi
Not really. What purpose is it supposed to serve? What problems does it address? What abstractions does it add?

None. None. None.


I think you haven't read much about the D programming language or you have some outdated information. It adds a lot, take garbage collection, design by contract or mixins as an example. And yeah, there are people that claim that it all can be done in C++. But still what can be done in C++ can be done in C, yet it's more error prone and tedious.

Quote:

Most damning of all, how much support has it garnered in the years since its release? Pretty damn little. It's an attempt to radically reshape C++, but such attempts don't work without a significant enough break with the previous approach. C++ succeeded because it initially served as an adapter to C. After gaining sufficient momentum, despite intense criticism, it took off. D breaks with C++ too soon. It's dead in the water.


AFAIK, it hasn't been released in the 1.0 version yet, it's goning to happen pretty soon. There's already been released the first book about D, in Japan, but the creators of D have signed a contract with Addison-Wesley to write the real book about D, it's going to be released closely with the first version of the language.
As for the community support, it's constantly gaining more attention, remember that C++ also didn't have many fans at the beginning, but then everyone began to say it's THE language. D may not have such a great impact on the community, yet it will attract lots of newbies that are frustrated with the complexities of C++ and these people may form the new 'wave' of programmers.


Quote:

Worst of all, the programming model espoused by C++ is not viable for a new language. Single-pass parse/compile? Header files? Forward declaration? The future lies in higher levels of programmer abstraction - high-level types, multi-platform targets (via intermediate languages and JIT), language-transparent interop. D is too little, too late.


I think you're missing some important info about D. It has no header files, no need for forward declarations, it's compile times are about 0.1% - 1% of the compile time of equivalent C++ programs. Once I run a compile script for quite a big project and thought that noting happened, so I re-ran the script with seemingly no effect. I was positively surprised to see that my binaries were already done. It's blazingly fast, thus speeding up the tedious write->compile->run cycles.
As for high-level types, I don't get what you mean... D has fully garbage collected classes, much like the ones Java provides, whilst still giving the programmer the ability to use C-like structs (with binary compatibility), inline assembly and such.
JIT ? No problem, there's a D.net compiler in development. There's absolutely no limitation to compile D to bytecode and run it thru JIT.

Some people may be against the D language, but there are ones that used to be C++ zealots and switched to D (including me). This process is going to continue. D gives people the features they want, being pretty open to proposals. The 1.0 compiler is already done, yet there are already lists of proposals for 2.0 that haven't been seen in many languages, if any at all.
True, the 1.0 D language may not add much functionality, it may not change the way one codes, yet it makes many things SO much simpler that when you get used to them, you never want to come back. This may sound like a marketing fan, I had the same attitude at a time, but then I got addicted to D.

"Switch to... whatever the hell you want" ;)

Share this post


Link to post
Share on other sites
I like c#, it's really easy to use. Maybe for developing something fast. But c++ would be better for commercial purposes. I mean I've been learning c++ and directx for a year now, and what it took for days in that only took hours in c#. I would like to know how fast it is compared to c/c++ though.

Share this post


Link to post
Share on other sites
IMHO Well it depends what you wan't to get with learning new language. Pascal is good especially for those who are starting programming it is strict not like Visual Basic, the structuring is logical and the programming is pretty fast. Looking for Pascal ? Better look at delphi - object pascal - this is what I call fast app development.

Looking for know how high level languages actually work ? Then why not try assembly or C ?

C# and Java are good examples of new look of old languages aimed toward the future, The main idea is to work with precreated classe for all purposes.

The best for you would be is to try all of them :). Atleast I did :) Well I didn't say I am complitly familiar with all the techniques, but I know what each languages is and how it differs from others.

Feel free to correct me if I did miss or mistyped something.

Share this post


Link to post
Share on other sites
C#, Python, Java, SQL, php/asp/vb# or whatever, bash, Lisp or scheme, any other language in the universe, brainfuck, whitespace, ZZT, D.

About in that order. [wink]

Share this post


Link to post
Share on other sites
Quote:
Original post by CodeTitan
Quote:
Original post by nife
How about sticking with C++ and be able to master it???

I agree.

I don't know. The first 90% of C++ is many times faster and easier to learn than the final 10%, to the point where the final 10% is of negligeble value. AFAIK, C++ is yet to be mastered by any.

I'd reccommend Python and Java.

Share this post


Link to post
Share on other sites
dang mastering c++ is way far away from me with my punny like maybe 1 year of knowlage lol

On topic: I wouldnt think you learned c++ just to know c++ you had to have some reason like making games, apps whatever so i would do that but scripting is good too and it is somthing that will help your apps be more flexable. If your into game programming i would get some books on non-type spacific game structure and layout books or net work programming SOMETHING it just seems impossible that youve done EVERYTHING (but i live in a small world so maybe)

[smile]

Share this post


Link to post
Share on other sites

This topic is 4746 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this