Computer Science Canada

Which programming language should I learn? (Updated)

Author:  wtd [ Tue Jan 04, 2005 4:06 am ]
Post subject:  Which programming language should I learn? (Updated)

I've seen it asked several times: what programming language should I learn?

I like answering this question, so I thought I'd do so in one place by listing pros and cons for several different languages. I may also organize it into a chart, but there are a lot of categories and a lot of languages, and some of the scores would be subjective. Smile

Assembly

Pros:


  • Fast.
  • Can open up job prospects that many programmers aren't trained for.


Cons:


  • Not portable. Your code won't translate between different processors, or often even different operating systems running on the same processor.
  • Poor documentation. Docs are often either very scarce or not written for beginners. Sometimes books on assembly programming can be quite expensive.
  • Very low-level. Assembly addresses problems related very specifically to hardware, rather than demonstrating general good software design practices. What you learn in the process of learning assembly language generally won't apply well to other programming work.


C

Pros:


  • Fast. Nearly as fast as assembly, but easier to develop.
  • It's everywhere. Nearly every hardware and software platform implements at least some of the C standard.
  • It's standardized. There is a standard you can code to, rather than worrying about each compiler actually working on a slightly different "version" of C.


Cons:


  • Manual memory management. The most frequent problems students and professionals alike have are with managing memory. It gets in the way of teaching other general skills.
  • No string type. Along with the previous point, this makes it cumbersome to do even basic programming in C without considerable experience.
  • A relatively limited standard library forces programmers to turn to nonstandard 3rd party extensions, or to reinvent the wheel.
  • Very limited facilities for code re-use.
  • Many errors involve code that compiles, but then fails with cryptic linker messages, making it difficult to find the bug that caused them without a significant amount of experience.
  • No support for object-oriented programming. It's possible, but the language doesn't help.


Code:

code:
#include <stdio.h>

int main()
{
   puts("Hello world");
   return 0;
}


Adding a simple function/procedure:

code:
#include <stdio.h>

void greet();

int main()
{
   greet();
   return 0;
}

void greet()
{
   puts("Hello world");
}


C++

Pros:


  • Fast. Almost as fast, and sometimes as fast as C.
  • Nearly as widely available as C.
  • Standardized, though not as long as C has been.
  • Good support for object-oriented programming, including multiple inheritance.
  • Amazingly powerful template system.
  • Standard Template Library. This collection of classes and functions makes it easy to do powerful things.


Cons:


  • Lots of sources don't teach standard C++. Worse, they often teach C concepts which ignore the power of C++ and leave programmers doing more work to write worse code.
  • Somewhat better for code re-use than C, but not good.
  • Complex, often tricky syntax which contains many subtle variations. A simple typo can produce code that compiles, but does something very different than what was intended.
  • Memory management is a bit better than C, but still presents frequent pitfalls.


Code:

code:
#include <iostream>

int main()
{
   std::cout << "Hello world" << std::endl;
   return 0;
}


Adding a simple function/procedure:

code:
#include <stdio.h>

void greet();

int main()
{
   std::cout << "Hello world" << std::endl;
   return 0;
}

void greet()
{
   puts("Hello world");
}


Objective-C

Pros:


  • Simplicity. For C programmers, Objective-C is entirely compatible with old C code, adding only a few new keywords.
  • Powerful object-oriented language.
  • Large, powerful libraries available.


Cons:


  • Aside from issues of code re-use and object-orientation, it also shares the cons of C.
  • Compilers are widely available, but Objective-C remains largely the domain of Apple Computer.
  • No independent standard.


Code:

code:
#include <stdio.h>

int main()
{
   puts("Hello world");
   return 0;
}


Adding a simple function/procedure:

code:
#include <stdio.h>

void greet();

int main()
{
   greet();
   return 0;
}

void greet()
{
   puts("Hello world");
}


Java

Pros:


  • Widely available.
  • Freely available.
  • Wide industry and community support.
  • A vast and powerful library, and excellent documentation of that library.
  • Excellent support for single inheritance object orientation.
  • Good support for code re-use.


Cons:


  • No alternative to object-oriented programming. It can be difficult when learning to use:

    code:
    public class Something
    {
       public static void main(String[] args)
       {
       }
    }


    As a "frame" for programs without knowing what that does.
  • Core language is rather limited, and forces use of much of the library to accomplish basic introductory programming tasks.
  • No independent standard.


Code:

code:
import java.lang.*;
import java.io.*;

public class HelloWorld
{
   public static void main(String[] args)
   {
      System.out.println("Hello world");
   }
}


Adding a simple function/procedure:

code:
import java.lang.*;
import java.io.*;

public class HelloWorld
{
   public static void main(String[] args)
   {
      greet();
   }
   
   private static void greet()
   {
      system.out.println("Hello world");
   }
}


Perl

Pros:


  • Available on many platforms. Already installed on pretty much every Unix or Unix-like system and available for Windows.
  • Easy to get started with.
  • Huge library of available code already written by others.
  • Integral support for regular expressions. Very powerful text-processing as a result.
  • Support for object-orientation with multiple inheritance.
  • Excellent support for code re-use.


Cons:


  • Object-orientation requires a great deal of discipline.
  • Large, sometimes confusing syntax.


Code:

code:
print "Hello world\n";


Adding a simple function/procedure:

code:
greet;

sub greet {
   print "Hello world\n";
}


Python

Pros:



  • Widely available.
  • Freely available.
  • Rapidly gaining in industry support.
  • Powerful built-in data structures and a large standard library.
  • Interactive interpreter makes it easy to test code.
  • Plentiful 3rd party code.
  • Object-oriented programming support, with multiple inheritance.


Cons:


  • Object-oriented components of the language feel tacked on.
  • Regular expressions do not have convenient syntax.
  • Scope of variables can be difficult to determine.
  • No independent standard.


code:
print "Hello world"


Adding a simple function/procedure:

code:
def greet():
   print "Hello world"
   
greet()


Ruby

Pros:


  • Widely available.
  • Freely available.
  • Active and friendly community for support.
  • Purely object-oriented. Everything is an object. Beginners can pretend it's not, to make getting started easy.
  • Blocks borrowed from SmallTalk make it easy to do some amazing things.
  • Well-endowed standard library.
  • Interactive interpreter makes it easy to test code.
  • Integral support for regular expressions allows powerful text processing at least on par with Perl.
  • Excellent support for code re-use.


Cons:


  • Of Perl, Python and Ruby, Ruby is probably the slowest.
  • Less code available than in the Perl and Python worlds.
  • Documentation is sometimes lacking.


Code:

code:
puts "Hello world"


Adding a simple function/procedure:

code:
def greet
   puts "Hello world"
end

greet


Turing

Pros:


  • Simple environment for writing and testing code.
  • Standard graphics library.
  • Decent support for structured programming and modularization.
  • Decent documentation.


Cons:


  • Not free. Wouldn't be such a sin, except that so many good languages have free implementations.
  • Proprietary. All future changes/improvements are in the hands of a single company.
  • No industry support to speak of, and few communities to provide help for beginning programmers.
  • Little 3rd party code to draw on.
  • Supports object-orientation, but in a cumbersome manner.
  • Language remains highly procedural when few other languages follow that style anymore, so experience gained is only marginally applicable elsewhere.


Code:

code:
put "Hello world"


Adding a simple function/procedure:

code:
procedure greet
   put "Hello world"
end greet

greet


Pascal

Pros:


  • Easy to get started with.
  • Widely available.
  • Free compilers available.
  • Mature. Programmers needn't worry about it changing tomorrow.
  • Support for many programming concepts.


Cons:


  • Old. There's no way around that one. It's old and what interest exists is either stagnant or waning.
  • Lack of good support for modern OO techniques.
  • Standardized, but adherence to those standards is lacking.


Code:

code:
program HelloWorld;
begin
   WriteLn("Hello world")
end.


Adding a simple function/procedure:

code:
program HelloWorld;

   procedure Greet;
   begin
      WriteLn("Hello world")
   end;
   
begin
   Greet
end.


Haskell

Pros:


  • Available on Mac OS X, Windows, and every Unix under the sun.
  • Multiple open source environments are freely available.
  • The standard for lazy, pure functional programming languages.
  • Standardized as Haskell 98. Environments implement that standard, and then add extra extensions.
  • Reasonably comprehensive standard library.
  • Stable. Haskell will not change radically in a year's time, so you don't have to worry as much about not using the latest and greatest thing.
  • Can be either compiled and interpreted.
  • Very fast. Roughly on par with C, and frequently faster.
  • Type-safe. All type errors are caught at compile time.
  • Excellent support for code re-use.
  • Large and active community.
  • Forces learning a functional style of programming.


Cons:


  • Relatively little "name value" in the industry at large.


Code:

code:
module Main where

main :: IO ()
main = putStrLn "Hello world"


Adding a simple function/procedure:

code:
module Main where

main :: IO ()
main = greet

greet :: IO ()
greet = putStrLn "Hello world"


Objective-Caml (O'Caml)

Pros:


  • Widely available.
  • Freely available.
  • Can be compiled or interpreted.
  • Fast. When compiled with the optimizing compiler, O'Caml programs can on par with or faster than programs written in C.
  • Type errors are all caught when compiling.
  • Supports object-orientation with multiple inheritance.
  • Excellent support for code re-use.
  • Large community concerned with "practical" programming.


Cons:


  • Lots of syntax to remember.
  • Unique set of operators for floating point math.


Code:

code:
let main = print_endline "Hello world"


Adding a simple function/procedure:

code:
let main = greet

let greet = print_endline "Hello world"


Eiffel

Pros:


  • Several implementations available. One is free and open source.
  • Excellent support for object-oriented programming with multiple inheritance.
  • Excellent support for code re-use.
  • Verbose. Code is often self-documenting.


Cons:


  • Small community.
  • Best implementations are very expensive.
  • Impossible to write code outside of a class, so beginners will have to deal with it immediately. Same con that you see with Java (and C#).


Code:

code:
class
   HELLO_WORLD
creation { ANY }
   make
feature { ANY }
   make is
      do
         std_output.put_string("Hello world")
         std_ouput.put_new_line
      end
end


Adding a simple function/procedure:

code:
class
   HELLO_WORLD
creation { ANY }
   make
feature { ANY }
   make is
      do
         greet
      end
feature { NONE }
   greet is
      do
         std_output.put_string("Hello world")
         std_ouput.put_new_line
      end
end


C#

Pros:


  • A vast and powerful library, and decent documentation of that library.
  • Excellent support for single inheritance object orientation.
  • Good support for code re-use.
  • Language is independently standardized.
  • Decent interoperability with other languages via .NET.
  • Free, open source compilers and environments available.


Cons:


  • Many libraries, especially those related to graphics and desktop and web applications are not standardized, and are only available on Windows or else lag on other platforms.
  • Forces programmers to immediately deal with object-orientation, which can be confusing and overly intimidating for beginners.
  • Odd naming convention.


code:
using System;

public class HelloWorld
{
   public static void Main(string[] args)
   {
      Console.WriteLine("Hello world");
   }
}


Adding a simple function/procedure:

code:
using System;

public class HelloWorld
{
   public static void Main(string[] args)
   {
      Greet();
   }
   
   private static void Greet()
   {
      Console.WriteLine("Hello world");
   }
}


Visual Basic (upto 6)

Pros:


  • Good integration with Windows.
  • Interfaces with other Microsoft tools (Office, notably).


Cons:


  • Dead. Microsoft has no further plans for VB6 and earlier, except to bury them as far underground as possible.
  • Not free.
  • Limited to Windows entirely.
  • Poor syntax. This one I usually leave out since it's subjective, but VB really takes the cake on odd syntax.
  • Poor facilities for structured programming lead to code that is difficult to read and maintain.


VB.NET

Pros:


  • Pretty much the same as C#, since they both access the same library. VB.NET is little more than a different syntax for C#.
  • VB6 and earlier programmers may feel more at home with VB.NET than C#.


Cons:


  • Also largely the same as those listed with C#.


Delphi

Pros:


  • Good Windows integration.


Cons:


  • Dead. Dead, dead, dead... Borland has utterly and completely given up.
  • Not free.
  • Limited to Windows.
  • Confuses language with environment, leading to programmers who are fundamentally confused later on.
  • Based on Object Pascal, for which there is no useful independent standard.


Ada95

Pros:


  • Excellent open-source compiler available.
  • Very fast. On par with or exceeding speed of programs written in C.
  • Very good support for code re-use.
  • Verbose. Code is often self-documenting.
  • Reasonably comprehensive standard library.
  • Independently standardized.
  • Strong in the aerospace industry. Ada is used to write software for Boeing aircraft, for instance.


Cons:


  • Small community.
  • Undeserved but quite pervasive bad reputation among management and corporate types.
  • Verbose. It can take a while to say anything in Ada.
  • Only really strong in aerospace and defense industries.


Code:

code:
with Ada.Text_IO;
use Ada.Text_IO;

procedure Hello_World is
begin
   Put_Line("Hello world");
end Hello_World;


Adding a simple function/procedure:

code:
with Ada.Text_IO;
use Ada.Text_IO;

procedure Hello_World is
   procedure Greet is
   begin
      Put_Line("Hello world");
   end Greet;
begin
   Greet;
end Hello_World;

Author:  MihaiG [ Tue Jan 04, 2005 6:29 pm ]
Post subject: 

i should slap you.....you for got Visual Basic 6.... Delphi 5 and others.....

Author:  zomg [ Tue Jan 04, 2005 6:37 pm ]
Post subject: 

considering how the long the list was he probably either
1)copied it from a website and they didn thave anything about VB or anything...
2)typed it up and left out VB cuz it was so long already
3)Perhaps he forgot it...unlikly tho


BTW this list kicks thx for posting

Author:  Catalyst [ Tue Jan 04, 2005 6:41 pm ]
Post subject: 

or he simply doesnt like visual basic 6

Author:  wtd [ Tue Jan 04, 2005 6:45 pm ]
Post subject: 

Catalyst wrote:
or he simply doesnt like visual basic 6


Very much so, but yes, I typed it all myself and I was first including languages I am most familiar with. It will be expanded in the near future.

Author:  zomg [ Tue Jan 04, 2005 6:46 pm ]
Post subject: 

its all coming together

Author:  Martin [ Wed Jan 05, 2005 1:45 am ]
Post subject: 

Great guide wtd Very Happy

I've been considering learning C#, as it has some really nifty features, and what appears to be incredibly cleaned up syntax as compared to C++. All and all, it seems like an interesting language.

My main motivation is that winAPI and COM are apparently being replaced by .net (I read somewhere that Longhorn is going to be built on .net) and I want to get into some DirectX.

EDIT: Speaking of which, can anyone point me in the direction of a good, and free C# compiler for Linux?

Author:  Tony [ Wed Jan 05, 2005 2:52 am ]
Post subject: 

wtd wrote:
I typed it all myself

He defenatly did. You can see so in the views expressed tawards certain programming languages (well atleast to those who know wtd better)

Anyways, wtd knows alot about alot of programming languages, and I find this list to be quite accurate. Great job Very Happy

Author:  wtd [ Wed Jan 05, 2005 3:02 am ]
Post subject: 

martin wrote:
Great guide wtd Very Happy

I've been considering learning C#, as it has some really nifty features, and what appears to be incredibly cleaned up syntax as compared to C++. All and all, it seems like an interesting language.

My main motivation is that winAPI and COM are apparently being replaced by .net (I read somewhere that Longhorn is going to be built on .net) and I want to get into some DirectX.

EDIT: Speaking of which, can anyone point me in the direction of a good, and free C# compiler for Linux?


Mono is a good C# environment on Windows, Linux, Mac OS X, etc.

Be careful, though, Microsoft's plans for Longhorn change every other Tuesday. .NET is the way to go for Windows development, though.

As for it being a cleaned up C++... it's really more a Java clone, though the guy in charge of developing C# headed up Delphi for Borland, so you'll find some parts of the language that behave more like Object Pascal.

Author:  rizzix [ Wed Jan 05, 2005 3:09 pm ]
Post subject: 

martin wrote:

I've been considering learning C#, as it has some really nifty features, and what appears to be incredibly cleaned up syntax as compared to C++. All and all, it seems like an interesting language.



Ha the guy who dislikes java but likes c#.. lmao

Author:  wtd [ Wed Jan 05, 2005 3:27 pm ]
Post subject: 

rizzix wrote:
martin wrote:

I've been considering learning C#, as it has some really nifty features, and what appears to be incredibly cleaned up syntax as compared to C++. All and all, it seems like an interesting language.



Ha the guy who dislikes java but likes c#.. lmao


But C# came from Microsoft. With that sig image I think he's obligated to like it.

Author:  Martin [ Wed Jan 05, 2005 4:01 pm ]
Post subject: 

Hey, I'm not a Microsoft lackey. I'm just heading the anti-anti-microsoft campaign. I still use Firefox AND Linux. Hell, I make my money from programming in Linux.

And my dislike of Java is entirely due to the classes that I took.

Author:  Tony [ Wed Jan 05, 2005 9:24 pm ]
Post subject: 

martin wrote:
And my dislike of Java is entirely due to the classes that I took.

You didn't go to any of your Java classes Eh

Author:  Martin [ Wed Jan 05, 2005 9:30 pm ]
Post subject: 

Brainf*ck
Pros:
  • 3 bit development environment, making it easy to learn the entire language in just minutes.
  • Compiler that is under one kb in size.
  • Turing complete.
  • Free

Cons:
  • Some more advanced applications (such as input, output, math, repetition, etc.) are more difficult.
  • Very few tutorials.
  • The name gets starred out by compsci.ca's filter


And, on that note, you win a sticky.

Author:  Bobrobyn [ Fri Apr 08, 2005 9:10 am ]
Post subject: 

He also forgot qbasic, which is a very fun, but old. *cough* we have to use it in our computer engineering classes */cough*

~Bob

Author:  Tony [ Fri Apr 08, 2005 10:01 am ]
Post subject: 

Bobrobyn wrote:
He also forgot qbasic

He didn't forget it. It was left out on purpose Wink There are no pros to the language and an overwhelming amount of cons Laughing

Author:  md [ Fri Apr 08, 2005 10:35 am ]
Post subject: 

QBasic is actually Quick Basic, and it implements standard basic, so it isn't a language in and of itself.

Pros:

    Easy to learn
    Quick to debug
    VERY Portable
    VERY Stable language

Cons:

    SLOW
    VERY SLOW
    Dead as far as new compilers/interpreters go
    No OO support


Oh, and the best pascal comiler right now is FreePascal, which DOES have support for pascal objects, as well as classes. It's not standard, but i think there may be an effort to make a standard... either way if yuor looking for a really good pascal compiler FreePascal is the best.

Author:  Universal [ Tue Apr 12, 2005 2:02 pm ]
Post subject: 

who the **** still uses asm or those old languages. VB is the way to go.

Author:  wtd [ Tue Apr 12, 2005 2:09 pm ]
Post subject: 

Universal wrote:
who the **** still uses asm or those old languages. VB is the way to go.


People who write the software that makes cars and thousands of other devices run properly, who make boatloads of money doing so.

Which other languages do you consider too old to be of any worth?

Author:  rizzix [ Tue Apr 12, 2005 2:11 pm ]
Post subject: 

VisualBasic Razz

Author:  wtd [ Tue Apr 12, 2005 2:23 pm ]
Post subject: 

Perhaps we should tell all of the LISPers still happily using it and its derivatives (notably, Scheme) after 50 years that they should use VB.

Author:  Martin [ Tue Apr 12, 2005 2:26 pm ]
Post subject: 

wtd wrote:
Universal wrote:
who the **** still uses asm or those old languages. VB is the way to go.


People who write the software that makes cars and thousands of other devices run properly, who make boatloads of money doing so.

Which other languages do you consider too old to be of any worth?


Latin.

Author:  Tony [ Tue Apr 12, 2005 3:31 pm ]
Post subject: 

martin wrote:
Latin.

Suspendisse imperdiet elementum tellus. Proin eu magna non eros mollis.
Confused
Jerk

Author:  Mazer [ Tue Apr 12, 2005 3:35 pm ]
Post subject: 

Yeah, really Martin.
Quando omni flunkus, moritati.

Author:  Martin [ Tue Apr 12, 2005 3:50 pm ]
Post subject: 

I hate you both. Your pay is being cut by 50%.

Author:  wtd [ Tue Apr 12, 2005 3:55 pm ]
Post subject: 

:: prefers Español ::

Author:  Universal [ Sun Apr 24, 2005 2:58 pm ]
Post subject: 

you only use asm and those languages for rom programming not computer application. Its either java or vb now although there is a demand for php or sql.

Author:  [Gandalf] [ Sun Apr 24, 2005 3:24 pm ]
Post subject: 

Not really... I think C and C++ are looked for more widely than VB...

Author:  Bobrobyn [ Fri Apr 29, 2005 6:40 pm ]
Post subject: 

I said Qbasic as a joke, I wasn't being serious.

~Bob

Edit: I actually have to use it in my computer engineering class Razz

Author:  diqua [ Fri May 27, 2005 8:34 pm ]
Post subject: 

wtd did include vb6 just to tell you

An after the fact edit.

Author:  [Gandalf] [ Mon Dec 05, 2005 6:49 pm ]
Post subject: 

Looking back, and...

wtd, the Java example you showed won't compile since Java, being case sensitive requires the "System" in "System.out.println()" to be start with a capital letter. It goes well to discouraging beginners from learning Java, but in the spirit of equality... Smile

Java:
import java.lang.*;
import java.io.*;

public class HelloWorld
{
   public static void main(String[] args)
   {
      System.out.println("Hello world");
   }
}

Author:  wtd [ Mon Dec 05, 2005 11:30 pm ]
Post subject: 

Thanks for pointing that out.

Author:  [Gandalf] [ Mon Dec 05, 2005 11:38 pm ]
Post subject: 

There is also this example:
code:
import java.lang.*;
import java.io.*;

public class HelloWorld
{
   public static void main(String[] args)
   {
      greet();
   }
   
   private static void greet()
   {
      System.out.println("Hello world");
   }
}

Wink

Author:  eklypze [ Tue Dec 06, 2005 8:37 pm ]
Post subject: 

Great Guide! Smile

Author:  Martin [ Wed Dec 07, 2005 4:37 am ]
Post subject: 

Haskell is definitely where it's at. The lazy bit is cool, but leads to the occasional 'huh? Why does that work?'

Mind if I spice up this guide with some example code later (not Haskell... I was thinking C/C++/Java to start) to flesh out the examples some more?

Author:  wtd [ Wed Dec 07, 2005 5:56 am ]
Post subject: 

Martin wrote:
Haskell is definitely where it's at. The lazy bit is cool, but leads to the occasional 'huh? Why does that work?'


The silence from you on the subject makes me wonder just how much of Haskell's power you've seen. Smile

Martin wrote:
Mind if I spice up this guide with some example code later (not Haskell... I was thinking C/C++/Java to start) to flesh out the examples some more?


Knock yourself out.

Author:  Martin [ Wed Dec 07, 2005 8:56 am ]
Post subject: 

Yeah, I haven't had much time to learn about it. Work's been picking up (finally) and there's too much to do after work.

I downloaded a tutorial - Yet Another Haskell Tutorial by Hal Daume III. I'm somewhere in chapter 7 (Advanced Features).

Author:  wtd [ Wed Dec 07, 2005 2:28 pm ]
Post subject: 

Martin wrote:
I downloaded a tutorial - Yet Another Haskell Tutorial by Hal Daume III. I'm somewhere in chapter 7 (Advanced Features).


That's a good tutorial.

Author:  Martin [ Wed Dec 07, 2005 7:52 pm ]
Post subject: 

I'm enjoying it.

Haskell really promotes a different way of thinking, and I love ghci.

One thing I'm not sure about Haskell though is how well it'd work for an actual application (besides math based ones). I guess I'll find out.

Author:  wtd [ Wed Dec 07, 2005 8:09 pm ]
Post subject: 

http://www.pugscode.org/

Author:  Martin [ Wed Dec 07, 2005 8:11 pm ]
Post subject: 

So that's a 'yes, it works' I take it?

Author:  wtd [ Wed Dec 07, 2005 9:08 pm ]
Post subject: 

Yes. Smile

Author:  Lazy [ Fri Nov 17, 2006 5:03 am ]
Post subject: 

Quote:
Haskell really promotes a different way of thinking, and I love ghci.

One thing I'm not sure about Haskell though is how well it'd work for an actual application (besides math based ones). I guess I'll find out.


How about <a href= "http://www.geocities.jp/takascience/haskell/monadius_en.html">this</a> - a 2d shooter game? It's a fun example of how anything can be done in Haskell - and it's a good excuse to download a game for "research purposes" Very Happy

Author:  haskell [ Wed Dec 27, 2006 12:31 am ]
Post subject: 

What about standard Lisp dialects, such as Scheme, Prolog, and Common Lisp? Lisp is tried and tested, and has a sense of eureka when you finally figure it out Smile. Plus Scheme is common in quite a few CS classes(Undergrad level).

Modern Assembly examples? MASM32, TASM32, or FASM. You can snatch them off their home pages, probably available under GNU License or similar.

Tcl/tk would be nice to add... But I doubt anyone thinks of learning Tool Command Language as a first language.

Possibly awk, sed and the other forgotten tools, as some people learn those first in a Unix-based environment.

AutoIt would be a good one to add... Its a Windows-based scripting language that can also be compiled to the standard Win32 PE file(.exe, not sure about .dll). Its a BASIC-like syntax and is very easy.

AspectJ would be a good example of Aspect-Oriented programming. Though probably not something for a first language.

Maybe Flash and Php? Web apps are pretty popular, and are a good transition from web design to computer programming.

Author:  michaelp [ Mon Jul 30, 2007 8:52 pm ]
Post subject:  RE:Which programming language should I learn? (Updated)

Sorry for the big bump, but what are you opinions on what is the best programming language for games?

Author:  Dan [ Mon Jul 30, 2007 8:57 pm ]
Post subject:  RE:Which programming language should I learn? (Updated)

Ratings of what langue is best are ushely over looking the point of having diffrent langues. What langue is best for a given job releys hevealy on what that job is, what kind of programers are doign the work, what there personal options are, what there person mataing the code will need, the time frames for coding the job any many other factors like what kind of system they are making it for and what operating system will it be aimed at if any at all.

For gamming i whould not ventuer to guses what is "best" however i blive C, C++ and C# are popualr in the gaming industry. Remamber that popular dose not mean "best" or even good tho.

Author:  michaelp [ Mon Jul 30, 2007 9:01 pm ]
Post subject:  RE:Which programming language should I learn? (Updated)

I was thinking about using C or C++ because I have a PSP, and do some PSP programming/hacking ( Razz ) for that and those are the 2 languages that it supports.

Still will have to look at other things to see what to choose, thanks for the input.

Author:  wtd [ Tue Jul 31, 2007 12:47 am ]
Post subject:  RE:Which programming language should I learn? (Updated)

You can always learn C or C++ later on, once you have a grasp on fundamentals.

This is something students tend to forget: you can learn more languages, but you'll never forget the frustration brought on by choosing a hard one as one of your first.

Author:  michaelp [ Tue Jul 31, 2007 2:28 pm ]
Post subject:  RE:Which programming language should I learn? (Updated)

I'm thinking more C than C++.
I do know some little bits of programming, from LUA on the PSP.
Do you know any good websites for C?

edit: I'm also thinking about PHP, but unless I wanted to make a webpage, it wouldn't be useful would it?

Author:  wtd [ Tue Jul 31, 2007 3:09 pm ]
Post subject:  RE:Which programming language should I learn? (Updated)

You could try reading my C Whirlwind in the C Tutorials section.

Lua is a nice language. Nice and small. PHP is a monster, and you are best off avoiding it unless you have a compelling reason to use it (managing an existing app written in PHP).

Author:  michaelp [ Wed Aug 01, 2007 10:26 am ]
Post subject:  RE:Which programming language should I learn? (Updated)

C or C++ tutorials section? I don't see any tutorials in the "C tutorials" section.

I don't have any compelling reason to use PHP, so I guess I won't use it.

Author:  Aziz [ Wed Aug 01, 2007 10:48 am ]
Post subject:  RE:Which programming language should I learn? (Updated)

Under "Programming" heading. It's a subforum of the C forum.

Author:  michaelp [ Wed Aug 01, 2007 12:18 pm ]
Post subject:  RE:Which programming language should I learn? (Updated)

You mean here?
http://compsci.ca/v3/index.php?pf=101&h=1&start=0

And here's the tutorial section without any tutorials in it:
http://compsci.ca/v3/viewforum.php?f=102

I know where to look, I just don't know where the tutorial is.

Author:  neufelni [ Wed Aug 01, 2007 12:19 pm ]
Post subject:  RE:Which programming language should I learn? (Updated)

michaelp is right. There seems to be nothing in the C tutorials section. However, you can find wtd's C Whirlwind in the C++ tutorials section, right here.

Author:  michaelp [ Wed Aug 01, 2007 3:20 pm ]
Post subject:  RE:Which programming language should I learn? (Updated)

Thanks.
I don't know why a C tutorial is in the C++ tutorials section, since learning C concepts when learning C++ or vice versa can make you write worse code.

*hint hint*
*nudge nudge*

edit: What compiler should I use? I heard Dev C++ is good.
Or MinGW?
I would rather have something that takes up under a GB of space.

Author:  PaulButler [ Wed Aug 01, 2007 7:08 pm ]
Post subject:  RE:Which programming language should I learn? (Updated)

Dev-C++ is an IDE (Integrated Development Environment), not a compiler. I think Dev-C++ comes with the MinGW compiler though.

Eclipse is also a good IDE for C++, and it is kept more up-to-date.

A compiler will not even come close to taking up a gigabyte. An IDE might, though. Eclipse is a 100-some MB download.

Author:  CodeMonkey2000 [ Wed Aug 01, 2007 7:13 pm ]
Post subject:  RE:Which programming language should I learn? (Updated)

Eclipse is kinda slow on my computer. I prefer Code::Blocks because it has templates for openGL and SDL.

Author:  michaelp [ Wed Aug 01, 2007 7:52 pm ]
Post subject:  RE:Which programming language should I learn? (Updated)

Well, I only need a compiler, I'll just use Notepad++ for my actual code typing. I think I'll just set up MinGW, using this guide in the C++ tutorials section.
It's seems easy enough.
edit: Is the latest version 4.1.0?

Author:  PaulButler [ Wed Aug 01, 2007 8:41 pm ]
Post subject:  RE:Which programming language should I learn? (Updated)

Starting without an IDE is a good idea. Notepad++ is great with one huge annoyance - by default all the comments are displayed in Comic Sans.

Author:  michaelp [ Wed Aug 01, 2007 8:44 pm ]
Post subject:  RE:Which programming language should I learn? (Updated)

I don't really make too many comments, so I won't mind too much.
Again, can I get a link to the latest version of MinGW? In that guide, it's 4.1.0, but I'm not sure if it's the latest version of it. (If it even matters Razz )


edit: Okay, on the computer I want to install it on doesn't have internet, can I just install on a computer that does have internet and then copy the MinGW folder (where I installed it) to the other computer?

Author:  PaulButler [ Wed Aug 01, 2007 9:29 pm ]
Post subject:  RE:Which programming language should I learn? (Updated)

From the sourceforge files, it looks like 5.1.3 is the latest.

Even if you do make comments, and you find comic sans as annoying as I do, it is easy to change.

Rather than copying the installed files, why not just copy the installer? But if you needed to, you could just copy the installed files and change your PATH environmental variable so you could use MinGW from the command line.

Author:  michaelp [ Thu Aug 02, 2007 8:32 am ]
Post subject:  RE:Which programming language should I learn? (Updated)

If I'm not mistaken, you need an internet connection to get the files from a mirror, which the computer I'm going to use does not have.

Author:  Aziz [ Thu Aug 02, 2007 8:55 am ]
Post subject:  RE:Which programming language should I learn? (Updated)

I believe what he means is to download the .exe installer, then copy the installer to the other computer and run it from there.

Author:  wtd [ Thu Aug 02, 2007 11:25 am ]
Post subject:  RE:Which programming language should I learn? (Updated)

JUst to make it easy, C Whirlwind.

Author:  michaelp [ Thu Aug 02, 2007 11:46 am ]
Post subject:  RE:Which programming language should I learn? (Updated)

Whatever.
I decided to learn C++ instead, just because.
And not gonna use MinGW, I'm going to use Dev-C++. Looks nice and easy to use.
One question about it: I just found a "Hello World" script, but when I get the .exe, (and run it) it goes on my a millisecond and then goes off. Anything I might be doing wrong?

code:
#include <iostream>

int main()
{
   std::cout << "Hello, world!" << std::endl;

   return 0;
}

Author:  Aziz [ Thu Aug 02, 2007 11:55 am ]
Post subject:  RE:Which programming language should I learn? (Updated)

Yes. The command line isn't staying open.

Btw, this was said before, but Dev-C++ isn't a compiler, it's an IDE (editor). It uses MinGW. The best way to start would be to use MinGW from command line. Because you'll realize what the program is doing (such as linking, etc). The line to compile the program (I wouldn't use "script" to define it) is:

code:
g++ helloworld.cpp -o helloworld.exe


(wtd, correct me if I'm wrong).

Then you have to run it. If you double click the exe, and runs, gets to "return 0", returns from main, and terminates. There is no more use for the terminal window, so it closes. If you run the following on command line:

code:
helloworld.exe


or even

code:
hellowworld


that will cause the program to run, and then terminate, and you will go back to your prompt,with the output still showing.

You could write a script to run it and keep the window open:

DOS batch file:
code:
@echo off
helloworld.exe
pause


And, I believe Dev-C++ has a bad "stigma" round the community, though it is quite popular. I myself use a text editor and command-line (my work with C++ is minimal). I do have Code::Blocks, which many more people are endeavored to (is that a word?).

Author:  rdrake [ Thu Aug 02, 2007 11:56 am ]
Post subject:  Re: RE:Which programming language should I learn? (Updated)

michaelp @ Thu Aug 02, 2007 11:46 am wrote:
Whatever.
I decided to learn C++ instead, just because.
And not gonna use MinGW, I'm going to use Dev-C++. Looks nice and easy to use.
Dev-C++ uses MinGW as its compiler, all it is is an IDE that makes managing larger projects easier. It should also be noted that MingGW includes compilers for both C (gcc.exe) and C++ (g++.exe).
michaelp @ Thu Aug 02, 2007 11:46 am wrote:
One question about it: I just found a "Hello World" script, but when I get the .exe, (and run it) it goes on my a millisecond and then goes off. Anything I might be doing wrong?
Nope, doing nothing wrong. The window outputs "Hello, world!" then terminates since it's done executing. You could change it to the following to have it pause:

c++:
#include <iostream>

int main()
{
   std::cout << "Hello, world!" << std::endl;
   system("PAUSE");

   return 0;
}


Edit: Beaten by Aziz.

Author:  michaelp [ Thu Aug 02, 2007 12:00 pm ]
Post subject:  Re: RE:Which programming language should I learn? (Updated)

Aziz @ Thu Aug 02, 2007 11:55 am wrote:
Yes. The command line isn't staying open.

Btw, this was said before, but Dev-C++ isn't a compiler, it's an IDE (editor). It uses MinGW. The best way to start would be to use MinGW from command line. Because you'll realize what the program is doing (such as linking, etc). The line to compile the program

I don't sweat the small details.
I thought that I might be doing something wrong, thanks for those bits of information.
I think I can actually start to do some programming now. Razz

Author:  Aziz [ Thu Aug 02, 2007 12:00 pm ]
Post subject:  RE:Which programming language should I learn? (Updated)

Word.

But in due note, I didn't know of that system("PAUSE") call. Though, how hackish is that?

Author:  rdrake [ Thu Aug 02, 2007 12:03 pm ]
Post subject:  Re: RE:Which programming language should I learn? (Updated)

Aziz @ Thu Aug 02, 2007 12:00 pm wrote:
But in due note, I didn't know of that system("PAUSE") call. Though, how hackish is that?
It's quite hackish and I do believe it only works on Winders. All it does is execute the system command "PAUSE."

Author:  Aziz [ Thu Aug 02, 2007 12:10 pm ]
Post subject:  Re: RE:Which programming language should I learn? (Updated)

michaelp @ Thu Aug 02, 2007 1:00 pm wrote:
Aziz @ Thu Aug 02, 2007 11:55 am wrote:
Yes. The command line isn't staying open.

Btw, this was said before, but Dev-C++ isn't a compiler, it's an IDE (editor). It uses MinGW. The best way to start would be to use MinGW from command line. Because you'll realize what the program is doing (such as linking, etc). The line to compile the program

I don't sweat the small details.
I thought that I might be doing something wrong, thanks for those bits of information.
I think I can actually start to do some programming now. Razz


You should sweat the small details, especially with C++. I'm no expert, but I've read before about "cryptic linker errors" and if you don't understand whats going on in the background, you're going to be yanking hairs out. Not just the ones on your head. I'm talking, like, crotch and armpit hairs.

Author:  wtd [ Thu Aug 02, 2007 2:19 pm ]
Post subject:  RE:Which programming language should I learn? (Updated)

So... what's wrong with learning simple, elegant programming languages?

code:
print "Hello, world!"


code:
puts "Hello, world!"


code:
print_endline "Hello, world!"


code:
"Hello, world!" println


code:
(begin
  (display "Hello, world!")
  (newline))


Beats the pants off this "int main" and "std::cout <<" nonsense any day! Smile

Author:  Aziz [ Thu Aug 02, 2007 2:24 pm ]
Post subject:  RE:Which programming language should I learn? (Updated)

I was going to tell you that you were posting off topic, wtd, but then I looked at the topic title =\

What's that 3rd code sample from?

Author:  rdrake [ Thu Aug 02, 2007 2:37 pm ]
Post subject:  Re: RE:Which programming language should I learn? (Updated)

Aziz @ Thu Aug 02, 2007 2:24 pm wrote:
What's that 3rd code sample from?
code:
Objective Caml version 3.10.0

# print_endline "Hello, world!";;
Hello, world!
- : unit = ()

Author:  Aziz [ Thu Aug 02, 2007 2:38 pm ]
Post subject:  RE:Which programming language should I learn? (Updated)

...I'm lost.

Author:  PaulButler [ Thu Aug 02, 2007 4:16 pm ]
Post subject:  RE:Which programming language should I learn? (Updated)

The third code sample is from Objective Caml (OCaml).

And given the thread title, here are some reasons you should learn it:

1. Type inference gives you the safety of static typing with little more effort than a dynamically typed language.

2. If performance is an issue, OCaml has a reputation for being faster than other functional languages and even C++ for some problems.

3. Once you have used an interactive console (I think OCaml calls it the toplevel), you can't go back.

4. Pattern matching is cool, even though I still don't fully understand it.

5. Functional programming is coming back into style Smile.

6. If you want access to a huge library of existing code, Microsoft's F# is basically OCaml with .NET integration.

7. It's not as hard as it looks.

Razz

Author:  rdrake [ Thu Aug 02, 2007 4:18 pm ]
Post subject:  Re: RE:Which programming language should I learn? (Updated)

PaulButler @ Thu Aug 02, 2007 4:16 pm wrote:
6. If you want access to a huge library of existing code, Microsoft's F# is basically OCaml with .NET integration.
The license even indicates that F# still contains some O'Caml libraries and code Wink.

Author:  wtd [ Thu Aug 02, 2007 4:26 pm ]
Post subject:  Re: RE:Which programming language should I learn? (Updated)

PaulButler @ Fri Aug 03, 2007 5:16 am wrote:
5. Functional programming is coming back into style Smile.


It never went out of style. You just keep getting style advice from people with no sense of style. Wink

Author:  WannaBeProgrammer [ Wed Jan 23, 2008 3:15 am ]
Post subject:  Re: Which programming language should I learn? (Updated)

one question, i hear that starting with C is bad and that its better to start with ruby or python, is that true? i have to admit that C is confusing, but i want to learn a language that will help me the most and C is used the most, what do u think i should do?
ive been studying C and can barely program the simplest of code, maybe i just need to practise? or maybe i should try something easier?

-Carl

Author:  McKenzie [ Wed Jan 23, 2008 9:10 am ]
Post subject:  Re: Which programming language should I learn? (Updated)

There are a lot of good reasons to learn C first. I don't think "it's used the most" is that important. If you are serious about computers then you are going to learn a load of different languages. No one is going to offer you a job after you have been hacking around in your first language for one year. C doesn't do much for you, which means you have to do everything for yourself. If you enjoy a very low level approach then you can learn a lot with C. As you pointed out it is still very widely used and C knowledge will be valuable for some time to come.

I taught C for about 6 years, as a second language. Typically, most students find it a frustrating up-hill battle. To take this up as a side project you are very likely to get frustrated and give up, but it is very much a personal thing. Ruby and Python are great as starter languages, but they are not without their faults as well.

Keep in mind that when you are talking about what is "used the most" no one here has a crystal ball to tell you what language will be used in 5-7 years when you are looking for a Computer job, or 7-10 years when you want to switch jobs, and even then when everyone jumps on language X there will be a niche market for language Y. Explore languages because they are cool and fun to play with. If you are just starting, it is way too early to be worried about if you will ever be paid to do what you are doing.

Author:  WannaBeProgrammer [ Wed Jan 23, 2008 2:37 pm ]
Post subject:  Re: Which programming language should I learn? (Updated)

yea its frustrating but im deffeinately not giving up, im just worried that i will go to college and take the game and simulation programming course, its a 3 year course, and ill fail out cause i dont have enough prior knowledge. i guess im just being impatient lol, but i really want to learn C fast so i can start programming my own games and stuff. how long does it take usually to master C? i see those learn C in 10 days things but i dont think thats true.

Author:  McKenzie [ Wed Jan 23, 2008 2:50 pm ]
Post subject:  Re: Which programming language should I learn? (Updated)

"C in 24 Hours" means 24 1-hour C lessons. You will only finish them in 1 hour if you have some prior programming knowledge. Game programming is some fairly advanced stuff. It's like writing a novel. If you start learning Spanish, don't expect to be writing novels in Spanish next week. There is a load of fundamental knowledge you need in game design. There is no shortcut to this knowledge.

Author:  WannaBeProgrammer [ Wed Jan 23, 2008 4:07 pm ]
Post subject:  Re: Which programming language should I learn? (Updated)

thanks =]
ive been studying hard all day and hope to get a good understanding of programming with c and maybe c++ within the next three months

Author:  wtd [ Wed Jan 23, 2008 7:09 pm ]
Post subject:  RE:Which programming language should I learn? (Updated)

Here's the key: write code. Write a lot of code. Once you've written some code, show us. Be read for us to tell you it sucks, and why, and keep an eye out for constructive criticism. Then, when you think you understand that criticism, go back and do it again. Lather, rinse, repeat.

Author:  wtd [ Wed Jan 23, 2008 7:10 pm ]
Post subject:  RE:Which programming language should I learn? (Updated)

There's nothing wrong with starting with C. Just remember, if you get frustrated, and C doesn't seem like fun...

There are other languages out there that are fundamentally different from C and will still let you get to your goal. So, if C doesn't float your boat, don't give up on the whole thing.

Author:  Devin_McElheran [ Fri Jan 25, 2008 12:58 pm ]
Post subject:  Re: Which programming language should I learn? (Updated)

I have tried C and Java and found both boring, the only language I can say I really learned is Visual Basic, I learned it in a computer science class at school last year, and I found it fun. A lot of languages were mentioned here and I'd like to learn one worth learning, good for games and stuff, so if you have any suggestions I'm open to them.

Author:  Clayton [ Fri Jan 25, 2008 5:16 pm ]
Post subject:  RE:Which programming language should I learn? (Updated)

It's pretty hard to put a definition to "good" when you speak about programming languages. Each has their own pros and cons to be considered. Read through this again and make your decisions based on that. If that still doesn't give you enough information, Google is a godsend.

Author:  DemonWasp [ Fri May 30, 2008 3:57 pm ]
Post subject:  RE:Which programming language should I learn? (Updated)

@Devin: If you're interested in game programming, then you should decide which you're going to start with: casual games or big-name games.

Casual games (such as web games) are often Flash or Java. Rarely JavaScript. Other languages are used, but the simplicity of writing code in these languages (and the wide base of people who know the language) leads to their popularity.

Big-name games (pretty much all the ones you see advertisements for) have a heavy tendency towards C and C++ (and some apparently include ASM code too, though I suspect that's becoming increasingly uncommon). I would imagine you can find the occasional VB or Java (see Tribal Trouble, a relatively big-name game coded in Java). The reason here is that performance is generally a primary concern, and C/C++ have a well-deserved reputation for being very fast.

As for other languages, I couldn't say much. I know that Python might be usable (Blender is, as I recall, written in Python and it performs quite well with 3d stuff).

Author:  Richard Knop [ Tue Jun 24, 2008 7:13 am ]
Post subject:  RE:Which programming language should I learn? (Updated)

Well, I would at least mention C++ and PHP. They are pretty popular and imho should have their place in the list.

On the othe and, I would remove Delphi 5, Pascal and maybe few others that have really no place in 21st century and are basically dead languages.

Author:  michaelp [ Mon Jul 07, 2008 3:53 pm ]
Post subject:  RE:Which programming language should I learn? (Updated)

They can be used as learning languages though, just to learn the basics of programming.

edit: Something that I just noticed was that the C++ example with the function is pretty screwed up. Razz Might wanna fix that.

Author:  alex.john95 [ Wed Jul 30, 2008 2:14 pm ]
Post subject:  RE:Which programming language should I learn? (Updated)

I also think that u can learn Java.

Author:  michaelp [ Wed Jul 30, 2008 2:34 pm ]
Post subject:  RE:Which programming language should I learn? (Updated)

What do you mean by "i also think you can learn java"?
Do you mean you can learn Java of as a programming language? :S

Author:  Aziz [ Wed Jul 30, 2008 2:50 pm ]
Post subject:  RE:Which programming language should I learn? (Updated)

I also think that you can learn English, and how to not spam with pointless comments Smile

Author:  dc116 [ Sun Dec 14, 2008 6:38 pm ]
Post subject:  RE:Which programming language should I learn? (Updated)

I heard Java is really hard so I'm sticking to the easier ones for now. Laughing

Author:  Insectoid [ Sun Dec 14, 2008 7:05 pm ]
Post subject:  RE:Which programming language should I learn? (Updated)

All right! Thread revival!

dc116, Java isn't hard, it's just a pain in the arse, with its ridiculous method names and you-can-only-do-it-this-way style of programming. Try out Perl (very flexible and damn good fun) for a procedural language or Ruby for OOP (those being the only languages in which I have any experience at all besides Turing and Java).

Author:  Aziz [ Sun Dec 14, 2008 7:09 pm ]
Post subject:  RE:Which programming language should I learn? (Updated)

Or Python...

Java can be what you make it - don't let extremists hold you back from doing something. It's just there's usually a reason to it, even if the reason is more complicated than you need to understand at that point.

Author:  wtd [ Sun Dec 14, 2008 7:15 pm ]
Post subject:  RE:Which programming language should I learn? (Updated)

Java is a lowest common denominator language. It's reasonably straightforward, honestly, and for the intelligent programmer who has some knowledge of object-oriented programming, the learning curve is fairly short, but once you do learn it...

It doesn't really reward further learning by making things easier.

Author:  Dragoonh [ Tue Feb 03, 2009 6:01 pm ]
Post subject:  RE:Which programming language should I learn? (Updated)

Hey just randomly poping this out here I want to try programming out to see if I like it and if I do I plan on going into something like the gaming industry which language should I learn?

Author:  Aziz [ Tue Feb 03, 2009 7:33 pm ]
Post subject:  RE:Which programming language should I learn? (Updated)

Didn't you read the post and the 7 pages of documents?

I'd suggest, Python.

Author:  btiffin [ Tue Feb 03, 2009 10:12 pm ]
Post subject:  Re: RE:Which programming language should I learn? (Updated)

Dragoonh @ Tue Feb 03, 2009 6:01 pm wrote:
Hey just randomly poping this out here I want to try programming out to see if I like it and if I do I plan on going into something like the gaming industry which language should I learn?


To tinker with game programming, I'd suggest Flash, Squeak or Scratch. Flash may actually get you sales or a job. The Smalltalks maybe not so much, but game programming is a lot more about game theory and the kind of creativity that attracts people than coding in a particular language.

A professional shop will likely ask for a fairly solid grasp of C++, but in reality, they'll be using highly sophisticated and less than mainstream toolkits. Bare metal programming is likely a very small chunk of the efforts in most of today's high end games.

For small games, Flash is great way to start and get noticed.

Perhaps take a kick at Inform-7. Write a text-adventure game. If you are creative, a few pages of writing and you'll get a good feel if people may like the games you are likely to produce. Anyone else reading this; Inform-7 is the height and epitome of Natural Language compiler design, in my humble opinion. Worthy of a look if you care about such things.

Cheers

Author:  Aziz [ Tue Feb 03, 2009 10:14 pm ]
Post subject:  RE:Which programming language should I learn? (Updated)

You're promoting that again, b? I cannot comprhend it, there are no 1's and 0's. Can I make an endless loop, though? Memory leak?

Author:  btiffin [ Tue Feb 03, 2009 10:43 pm ]
Post subject:  Re: RE:Which programming language should I learn? (Updated)

Aziz @ Tue Feb 03, 2009 10:14 pm wrote:
You're promoting that again, b? I cannot comprhend it, there are no 1's and 0's. Can I make an endless loop, though? Memory leak?


Sure; drop down to Inform-6 Wink http://www.inform-fiction.org/I7/doc412.html

Cheers

Author:  ashtonfarell [ Tue Feb 02, 2010 7:16 am ]
Post subject:  RE:Which programming language should I learn? (Updated)

Hey wtd
if you are beginner in programming language then you should prefer to teach C and C++. This is basic language which helps you to be a small programmer. then you should try to learn any web developing language like ASP.net and PHP. These both language are now good in market.

Author:  SmokeMonster [ Wed Aug 03, 2011 3:00 am ]
Post subject:  Re: Which programming language should I learn? (Updated)

I'm thinking of learning another language in the next month before school starts again but I can't seem to decide upon one. I always wanted to learn a pure functional programming language (since right now I've mostly worked with C, Java & Ruby) so I was considering Clojure but Scala sounds really tempting considering all the hype around it. Which one should I pick?

Author:  apython1992 [ Wed Aug 03, 2011 8:08 am ]
Post subject:  RE:Which programming language should I learn? (Updated)

Yay functional programming! I've learned a little bit of Haskell (not enough time to _really_ learn it) and I love the paradigm. I can see why people think it's too academic though. Scala is actually used industrially, which makes it rather tempting to learn. Given that you have only a month (I'm assuming you won't have much time when school starts), it might be unreasonable to learn a language like Haskell. How well do you know Ruby? It has support for functional programming concepts, and if you know it well enough you might have an easier time. You really must understand Lambda calculus to get functional programming, so that's a great place to start if you feel like learning a bit of more formal math.

Author:  Rachelle [ Thu Aug 11, 2011 5:09 am ]
Post subject:  Re: Which programming language should I learn? (Updated)

Both Java & C# is object oriented and high class language. I suggest you to begin with JAVA.

Author:  Sly14Cat [ Mon Apr 08, 2013 9:06 pm ]
Post subject:  RE:Which programming language should I learn? (Updated)

I think it's a good idea to learn C++ and Java. They obviously have much use in ge world of computing and they'll get you a job fast.

Author:  Cancer Sol [ Mon Apr 08, 2013 10:37 pm ]
Post subject:  Re: RE:Which programming language should I learn? (Updated)

ashtonfarell @ 2/2/2010, 7:16 am wrote:
Hey wtd
if you are beginner in programming language then you should prefer to teach C and C++. This is basic language which helps you to be a small programmer. then you should try to learn any web developing language like ASP.net and PHP. These both language are now good in market.

Ahem.
wtd ain't a beginner in programming. Rolling Eyes
LOL.
Sorry, that made me laugh really hard XD

Author:  ncvitak [ Sun Jun 09, 2013 5:55 pm ]
Post subject:  Re: Which programming language should I learn? (Updated)

I would learn any C based language first, such as C, C++, Obj-C, Java, and many others that have the C syntax.

Author:  mirhagk [ Mon Jun 10, 2013 4:38 pm ]
Post subject:  RE:Which programming language should I learn? (Updated)

Coding in C is VASTLY different than coding in Java (or C#). The syntax is the easiest thing to learn in a language, all the little nuances, libraries and styles of programming are more important.

Author:  Jonathan29 [ Thu Oct 03, 2013 2:19 am ]
Post subject:  RE:Which programming language should I learn? (Updated)

i will suggest you to go for c# first it's basic and easy to learn and then go for other languages.


: