Skip to main content
GameDev.net gamedev.net
🔒 Locked

A Second Programming Language

Started by kcabsinosam Jan 8, 2005 at 5:29 PM 24 replies 3.7k views
Original Post
kcabsinosam
kcabsinosam
I am interested in learning a different language while I am learning OpenGL in C++ because I am getting rather bored with it, and I want to be able to work on a few things in case I get bored. So I have a list of ones I want to learn, but cannot decide which. Also, no fighting which language is better, I just want your opinion, and no feedback on other's opinions. C# VB.NET Auto-It(lol yes, always an option) Java Scripting Language for C++(make a suggestion)
Trap
Trap
C# if you want something similar and directly usable.

Erlang, Common Lisp or Eiffel if you want something different.

[Edited by - Trap on January 8, 2005 6:38:51 PM]
CompileTime
CompileTime
Just to clarify. Opengl is an API not a language, and the api is C, not C++.

Not trying to be a d*** or anything.

Seriously though, after your "competent" with C/C++ I'd look into x86 assembler just so you know how code generation works. If you find x86 hard to pick up trasition from 68k it's a motorolla assember but very basic.

After that I'd dive into a scripting language. Either lua or python imo.

From there all other languages are cake to pick up.

[edit]
I'd learn win32 a bit also. And pick up something for rad dev. Borland Builder or C#.
[/edit]
kappa
kappa
c# is fun and wery much alike C++, I would deffinitly recomend it
iMalc
iMalc
Of those choices, try VB.NET or Java.

I stay away from C# purely because it's yet another of microsoft's examples of "Hey look, this thing is realy good and quite popular, lets make something just like it, but try and make it better and call it a standard, so that virtually everybody uses it, and we can extract lots of money out of them!"

I'm having one of those anti-MS days. It's called a weekday, or sometimes a weekend.
YoshiN
YoshiN
brainf*ck. Or if you don't want to go crazy programming anything simpler than a program that prints 1-10, check out functional languages. They are very different from what you are used to. Personally I recommend OCaml as it's probably the easiest to transition to from C/C++ (since it has imperitive features). Other notable functional languages would be Lisp, Scheme and Haskell.

If you are not familiar with functional languages, don't expect an easy transition from imperitive (C/C++) to functional. They are completely different paradigms. Pure functional languages don't have variables or loops for example. They rely on functions (big surprise there) and recursion.
-YoshiXGXCX ''99
Fruny
Fruny
I suggest Python. It is easy to pick up, very flexible, comes with a large standard library, is easy to extend with modules written in C++, and only slightly more difficult to embed in a C++ program. And yet, it is different enough from C++ that it will allow you to actually learn new things (unlike, say, Java or C#, which are much closer to C++ in their operating principles).
"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." — Brian W. Kernighan
Tac-Tics
Tac-Tics
Don't poo-poo on C# so quickly. Yes, it's another one of MS's steps toward world domination, but have you actually used it? It's like Java on steriods! Lots of cool features Java doesn't have:

- properties (which are getters and setters which require half the code)
- events and delegates (a superior approach to event handling)
- indexers and intelligent operator overloading (overloading + and = overloads += correspondingly)
- 'params' parameter passing

It also comes packaged with .NET and has a really easy-to-use Wysiwyg editor and JIT compiler (I know Java has JIT compilers for Sun, but I could never find one for Windows t.t)
maximAL
maximAL
why not prolog? i guess a glance into more exotic languages aside the "C++ class" ones will do every programmer good.
------------------------------------------------------------Jawohl, Herr Oberst!
Raymond_Porter420
Raymond_Porter420
learn x86 assembler if you want a challenge and you want to know what going on under the hood. learn c# or java if you want to learn a language thats flexible and fairly fast to build with. learn VB if you want to make alot of tools or hardcore user interfaces. learn XML and how to incorporate it into your programs(pretty good at letting you change alot of a game without having to recompile).
Brandon N
Brandon N
Quote:
Original post by iMalc
I stay away from C# purely because it's yet another of microsoft's examples of "Hey look, this thing is realy good and quite popular, lets make something just like it, but try and make it better and call it a standard, so that virtually everybody uses it, and we can extract lots of money out of them!"
It's almost like you know what you're talking about.

Not to be mean, but at least be informed before you spew forth anti-Microsoft rhetoric.

I'm sure that Microsoft is making billions off of the Mono project.

Anyway, back on topic, what do you want to do with this second language? I could recommend anyone of them if I had an idea of the specific domain you're interested in (even if it's just to learn programming in general).

To simply ask us to recommend any given one(s) with no domain won't help you at all.
CProgrammer
CProgrammer
Id take something that will broaden your possiblities in applications the most. Therefore it should give you posibilities c++doesnt or only sparesly give you.
My suggestion would be java. Its similar to the c++ syntax. Its got loads of libraries for quick programming, its cross platform and its great for web applications. Plus its one of those languages that are always very good on a cv.
ukdeveloper
ukdeveloper
Quote:
Original post by YoshiN
brainf*ck.


I agree. I'm thinking about learning it just for the comedy value.
Spudder
Spudder
I recommend Java since the syntax is similiar to C++ so it shouldn't be hard to pick up and will give you a sense of OO design which is central to Java.
Sartak
Sartak
Quote:
Original post by ukdeveloper
Quote:
Original post by YoshiN
brainf*ck.


I agree. I'm thinking about learning it just for the comedy value.


Brain**** is really simple to learn, really. It can be done in an afternoon (even if you decide to write your own interpreter)

The real challenge is doing anything useful with it.
-Sartak
flangazor
flangazor
From an operational standpoint, you will likely want to invest some time in learning a scripting language to help you with your day to day tasks. To help you write tests for your C++ projects, help you write build scripts and such. Perl and Python are great for this. In my experience, Perl is easier to learn and make useful than Python, but it won't help you with your discipline. Perl programs tend to get quite ugly quite quickly and many people criticize it as being "write once, read never". I agree with that comment.

I believe one purpose of Python is to address the messiness of Perl but trying not to sacrifice the usefulness. Judging from it's popularity, it may do that quite well.

Another language worth considering is Scheme. With some implementations you can get some scripts done reasonably easily (e.g. Bigloo), but not nearly as easily as Perl. What it does offer is a new way of thinking about problems which C++ doesn't really afford.

I'm also interested in Vault.

[Edited by - flangazor on January 9, 2005 12:06:36 PM]

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.