• Forum
  • Lounge
  • What programming languages should I lear

What programming languages should I learn?

Pages: 123
I'm thinking of learning a few new programming languages. At the moment, I'm considering Erlang, Fortran, Haskell, Mathematica, Matlab and Scala.

I currently know:
+ C
+ C++
+ Python
+ x86[_64] assembly language
as well as
+ Javascript
+ Bash/Sh
+ Perl
although I could not write anything more complex than a few useful shell scripts with Javascript, PHP, Bash/Sh or Perl. In PHP, for example, I am basically writing C code with dollar signs.
Last edited on
In PHP, for example, I am basically writing C code with dollar signs.

I hear you! I'm the same way.
closed account (EzwRko23)
You know I would recommend Scala, but Haskell is great, too. If Scala didn't exist, Haskell would be the next language on my list. You might also consider Erlang. Also quite interesting and very powerful in doing things in parallel.
@L B
It's mostly because I didn't learn those languages properly. Javascript and Bash I picked up soley by reading and writing code, PHP and Perl I read about and wrote a very small amount of code in. If I had done both (read about and read/wrote code) I probably would be somewhat competent in those languages as well, but I don't care to learn them properly because all I need them for is writing basic scripts. Python and C/C++ suit every other purpose, and I only need to know assembly language because I'm interested in operating systems and bootloader code, which has to include a certain amount of assembly code.

Ok. I'll take a look at Erlang. I've also thought about Matlab; I've heard that it's often used on supercomputers because it parallelizes well.
Last edited on
I recommend Lolcode. http://www.lolcode.com/ :P
Haskell is pretty cool and there's a lot of tutorials for it (one in particular is called "Haskell for C programmers").
It also has a badass logo.
I actually was going to learn Lolcode at one point; but decided not to.
I've bookmarked that tutorial already. As for the logo, it appears to say "Laskell" which is strange.
Lolcode is one of those languages that are fun to show off with; look what I made! HAI I CAN HAZ STDIO? But it's generally not really interesting. I have, however looked into some of the other esoteric languages, Befunge being one of them. I recently wrote this Befunge Script that will return a digit between 0 and 7 (inclusive), it works bitwise, too.
>v   v#v#         <
>?> >?>?>0v       .
 v   v > 10v      +
    >?> 01 0v     +
 v v >  11   v    *
>?>?>     0  0v   2
 v >    10    1v  \
>?>     01      v *
 >      11      1v4
All these strange paradigm languages can be found on this one wiki page: http://esolangs.org/wiki/Main_Page
Take a look at Lua.
I like Tcl

and Scheme

I currently know:
+ C
+ C++
+ Python
+ x86[_64] assembly language
as well as
+ Javascript
+ Bash/Sh
+ Perl

I like this skillset. I would consider going further in-depth with them rather than picking up something else just to lengthen the list. Is there a specific need that these technologies do not address?
Last edited on
closed account (EzwRko23)
There is no functional language in this skillset, so I clearly understand chrisname's desire to learn something new.
@Return 0,
Ok. I'll add that to my list of considerations

I heard Scheme was a functional language that was less "pure functional" than Haskell. I might learn that to make Haskell easier. As for TCL; I don't really know because I already know a few scripting languages.

I want to learn a functional programming language or two.
I'm developing one that is written more like a mark up language then anything if you want to learn that :O You'll have to wait several years until I get off my ass and actually finish it though.
I'll learn it to test your interpreter for you if you like. That sounds quite interesting.
Sure, as soon as i get around to making an alpha release.
A little taste of the syntax of bi0Script:

; <- denotes a comment 
<use> "/home/user/bi0/CLI.bi0" </use> ; pretty much include in c 
<bi0> ; This is the entry point to the main program
     <call>Echo("Sup, planet?", CLIOut)</call> ; calls function Echo without output CLIOut defined in CLI.bi0
     <call>Pause(10)</call> ; Defined in the CLI.bi0, busy waits for 10 seconds.
</bi0> ; this is the end point of the main program

<def=Echo(input, output)> ; defines function prototype 
     input -> output ; places input into output, in the case of our program that is the class CLIOut which outputs directly to terminal  

Output is:
/bin~$ bi0> Sup, planet? ...
/bin~$ bi0> 'Done'

is it cumbersome? you bet. Do I care? not even remotely. Originally it was just for the fun, but my prof is thinking about showing it to the CSC 141 (basically an html 101 class) instructor as a way to bridge the gap between static webpage design and programming for his students. By using a familiar syntax to learn the concepts of programming, it'll be easier to teach them more advanced languages such as PHP, Javascript, etc, things to make dynamic pages.
Last edited on
closed account (EzwRko23)
Such thing was invented a decade ago: ColdFusion
Last edited on
Yeah indeed seraphim youre not allowed to make something fun and learn from it if its already been made
Last edited on
Yeah, I agree. There can only be one of everything and any more is just re-inventing the wheel.
Pages: 123