which language should i learn?

Any other programming language that is not covered in the Web Scripting category.

which programing language should i learn as my first?

delphi
3
6%
c++
9
20%
visual basic
4
9%
java
7
16%
assembly
4
9%
other
16
37%
 
Total votes : 43

Postby plazmus on Tue Nov 15, 2005 10:15 am

I voted for "other". The listed languages are probably not best suited for beginners.
I started with QBasic, with a book for calculating electronic circuitry for a real life model (it contained some code listings for calculating the parameters of electronic schemes). After some time I decided that I need more power and switched to C.
So you should probably start with something like Basic (the plain Basic I mean), then C, then C++. But this is just an opinion.
You must try different languages and try to make your own decision for what you will need and what you will like. For example, go see some "hello world" programs for the different languages.
Good luck and success.
plazmus
Contributer
Contributer
 
Posts: 21
Joined: Sun Nov 13, 2005 11:19 am
Location: Bulgaria

Postby bockman on Mon Nov 28, 2005 8:52 pm

I learned C as my first language, and I'm glad for it. It teaches you to think on a computer level, rather than a human level, which other languages try to do, assuagingly.

Nothing like a while(*str1++ = *str2++); eh?
bockman
Newbie
Newbie
 
Posts: 17
Joined: Mon Nov 28, 2005 8:42 pm

Postby mm_freak on Tue Nov 29, 2005 2:18 am

I've learned Assembler (x86) before learning C. Asm is basically a language to be known, not to be used. It provides very good background knowledge.
I'm x^10 + x^8 + x^5 + x^4 + x^3 + 1, so don't mess with me!
mm_freak
Moderator
Moderator
 
Posts: 635
Joined: Sun Sep 11, 2005 12:29 pm
Location: Baden-Wuerttemberg (Germany)

Postby stupergenius on Tue Nov 29, 2005 3:27 am

mm_freak wrote:Asm is basically a language to be known, not to be used.


Hmm, somebody must have forgot to tell these people. Rolling Eyes
http://sourceforge.net/softwaremap/trove_list.php?form_cat=162

Actually I think Assembly today is used mainly for accessing file systems with an absolute minimum overhead cost.

Oh, and the OP should learn Python.
stupergenius
Contributer
Contributer
 
Posts: 39
Joined: Wed Nov 16, 2005 1:18 am
Location: Columbus, Ohio

Postby mm_freak on Tue Nov 29, 2005 3:29 am

stupergenius wrote:Actually I think Assembly today is used mainly for accessing file systems with an absolute minimum overhead cost.


Not even for that. Any good compiler will produce very well optimized op-code.
I'm x^10 + x^8 + x^5 + x^4 + x^3 + 1, so don't mess with me!
mm_freak
Moderator
Moderator
 
Posts: 635
Joined: Sun Sep 11, 2005 12:29 pm
Location: Baden-Wuerttemberg (Germany)

Re: which language should i learn?

Postby wrd on Tue Nov 29, 2005 7:41 am

I would say it doesnt matter which language you start of with, they are mostly the same, the syntax will be different. I would recomend you to start of with csharp since you need to know OO. CSharp is equally slow as java and vb but it has the features you need to know.

I started of with pascal and thought it was quite nice. Nowdays, Ive done programs in assembler, c, c++, moscow ml, csharp, perl, basic, java etc...

There is no language that feels hard to learn. They are all pretty simply. The difficulties I would think of is much more off in other areas.

As an example if you would like to implement math, the difficulty will not be the programming part, but the math part. Its the logic of everthing that needs to be understood, just the programming part is the easy thing to do.

At the moment Im building a program to surveliance applications, cpu, memory and other stuff, running on servers, reporting that to a central server and updating information on a webserver with encryption.

With that project, I got no time for it, and I got no specification, just free hands doing whatever I want with the catch that whatever I do, It better be good. What kind of information, do I want to report? What is relevant? To users? For me? etc... alot of questions like that. Programming? Is like, I want that, then I just build it with loops, if conditions etc...


Hope
wrd
Contributer
Contributer
 
Posts: 26
Joined: Tue Nov 29, 2005 7:11 am

Re: which language should i learn?

Postby mm_freak on Wed Nov 30, 2005 1:21 am

wrd wrote:I would say it doesnt matter which language you start of with, they are mostly the same, the syntax will be different. I would recomend you to start of with csharp since you need to know OO. CSharp is equally slow as java and vb but it has the features you need to know.


It does matter, and they're not only different in syntax. Have you ever written a game in Perl? Or an algebra processor in TCL? It's not the same to write some kind of program in every language. In fact, it's very different in other languages.

wrd wrote:I started of with pascal and thought it was quite nice. Nowdays, Ive done programs in assembler, c, c++, moscow ml, csharp, perl, basic, java etc...


You're programming in more than eight languages? Why? And from your description I can see that you're writing network based programs. So what do you use Assembler and Basic for?

wrd wrote:There is no language that feels hard to learn. They are all pretty simply. The difficulties I would think of is much more off in other areas.


C/C++ is as simple to learn Basic? Even you (as a C/C++ coder) couldn't tell me what the following code does (without executing it of course):
Code: Select all
#include <stdio.h>

int main() {
  int i = 1152;

  while(i--)
    putchar("X-"[i/6 + i/144 & 1]),
    i % 48 || putchar('\n');
  return 0;
}


wrd wrote:As an example if you would like to implement math, the difficulty will not be the programming part, but the math part. Its the logic of everthing that needs to be understood, just the programming part is the easy thing to do.


It also depends on the programming language. As an assembler programmer you should know that implementing maths is a lot harder in assembler than in any other language. Or have you ever tried to calculate the inner angle of a vector in Basic? Ever tried to implement a cryptographic algorithm in Java? In Java you couldn't even implement a bit shift without worrying about signedness.

wrd wrote:At the moment Im building a program to surveliance applications, cpu, memory and other stuff, running on servers, reporting that to a central server and updating information on a webserver with encryption.


What kind of encryption?

wrd wrote:With that project, I got no time for it, and I got no specification, just free hands doing whatever I want with the catch that whatever I do, It better be good. What kind of information, do I want to report? What is relevant? To users? For me? etc... alot of questions like that. Programming? Is like, I want that, then I just build it with loops, if conditions etc...


They're hard to make in Assembler. Especially for this kind of application. =)
I'm x^10 + x^8 + x^5 + x^4 + x^3 + 1, so don't mess with me!
mm_freak
Moderator
Moderator
 
Posts: 635
Joined: Sun Sep 11, 2005 12:29 pm
Location: Baden-Wuerttemberg (Germany)

Postby kl223 on Sun Feb 26, 2006 9:15 pm

I voted java.
I think it's much easier to learn java, THEN c++, THEN c (if needed) than the other way around.

But if you are new to programming, I suggest to begin with Pascal/Delphi. It was meant to be the first language for those who are beginners in programming. (it was designed to be easy to learn)

kl223
kl223
Newbie
Newbie
 
Posts: 8
Joined: Sun Feb 26, 2006 7:43 pm

Re: which language should i learn?

Postby hafner on Wed Mar 08, 2006 3:26 pm

Can that be true, nobody has proposed Scheme? So I'm the first one
here to do so.

Pros:

- Scheme is very expressive. Scheme programs tend to have a high
signal/noice ratio. One doesn't need any pseudo code when designing
programs, just think and program in Scheme.

- Scheme supports different paradigms. Of course, because it belongs
to the LISP family! Beneath Smalltalk, a Lisp were the first
language supporting OOP. Scheme supports the imperative and
functional paradigms as well. The latter is where it's realy strong.

- Scheme is minimalistic and therefore perfect for learning and
studying programming concepts and algorithms.

- Scheme will open your eyes even if you want to program in other
languages.

- Scheme code can be both: interpreted and compiled (even something in
between is possible: compile to some intermediate code).

- Scheme can be made to almost anything due to it's flexibility. (If
you chose Pascal, you've Pascal; but if you chose Lisp/Scheme,
you've any language you like.)

Cons:

- Scheme itself isn't a fully blown production programming language.
It's rather a common denominator of different Scheme implementation.
So if you want to write production code, you have to decide to chose
one. That one will most probably incompatible to the others.

Regards
Thomas
hafner
Contributer
Contributer
 
Posts: 73
Joined: Tue Mar 07, 2006 2:18 pm
Location: München (Germany)

C# / mono

Postby taladon on Fri Mar 10, 2006 6:20 pm

Since there seems to be alot of open source types here, I'm gonna say learn C# / mono. While the critics will say "The newbie programmer doesn't learn about memory managment, pointers, and how to 'really program'" I counter with this statement:
"In the 'real world' you will inevitbly use an uninitialized pointer, or go past the end of a buffer or something that causes a crash at best, an attack vector at worst. The way to eliminate that is through managed execution of code, and no I'm not a Microsoft PR guy, I just use .NET and am throughly impressed by how well it contains and frees memory when I write cruddy code.
Till next time
--Taladon
taladon
Newbie
Newbie
 
Posts: 15
Joined: Fri Mar 10, 2006 5:37 pm

Postby Codar on Fri Mar 10, 2006 6:54 pm

learn python its easy to learn and would teach you how programming works. also you could program in it quickly
Codar
Newbie
Newbie
 
Posts: 15
Joined: Mon Feb 20, 2006 8:24 pm

Re: which language should i learn?

Postby hafner on Tue Mar 14, 2006 12:10 pm

wrd wrote:I would say it doesnt matter which language you start of with, they are mostly the same, the syntax will be different.
Do you mean they are are all Turing complete? Well, then you could also learn first Brainfuck[1] or Unlambda[2] Wink No, the languages may be the same for the machines, but not for the programmer. Just have a look at Forth, Scheme, Haskell, Java Script and Fortran. I really don't think they are the same for the programmer. Some are statically typed, some are dynamically typed; some are have a weak type system, some a strong one[3].

BTW I think OO is overestimated. I recommend to read SICP[4] to learn different programming paradigms and how to program.

[1] http://en.wikipedia.org/wiki/Brainfuck
[2] http://en.wikipedia.org/wiki/Unlambda
[3] http://en.wikipedia.org/wiki/Type_system
[4] http://mitpress.mit.edu/sicp/

Regards
Thomas
hafner
Contributer
Contributer
 
Posts: 73
Joined: Tue Mar 07, 2006 2:18 pm
Location: München (Germany)

Postby joeabimansour on Wed Mar 15, 2006 7:08 pm

i suggest u learn perl it's easy to learn, it can be used for object oriented programming.
I say don't start with java or c++ since they're fully object oriented, which could cause problems in learning non OO languages later.

Greets.
Joe
joeabimansour
Newbie
Newbie
 
Posts: 19
Joined: Wed Mar 15, 2006 7:03 pm

Postby Extreme_ on Thu Mar 16, 2006 4:28 pm

Basic is quite easy language to begin with. For example qbasic, Blitzbasic and Darkbasic.
I learned C much easier, after learning php (web scripting language). They are quite similiar.
Extreme_
Newbie
Newbie
 
Posts: 4
Joined: Wed Oct 19, 2005 5:55 pm

Postby cons00m on Thu Mar 23, 2006 12:52 am

perl is the first language I learned the ins and outs of followed by C/C++ and then asm. Right now im learning delphi. I'd have to say I wouldnt really change that order if I had to do it again, perl is easy to learn the basic concepts of programming.

http://perlmonks.org is one of the best perl sites out there Smile.

~c
cons00m
Contributer
Contributer
 
Posts: 34
Joined: Thu Mar 23, 2006 12:36 am

PreviousNext

Return to Programming

Who is online

Users browsing this forum: No registered users and 1 guest

cron