Click here to Skip to main content
15,908,013 members

Survey Results

What is the best starting language for a new developer?   [Edit]

Survey period: 7 Apr 2008 to 14 Apr 2008

Some developers start with scripting and move to high level languages, while other start with ASM and continue from there. What do you think is best way to start? (Suggested by Christiaan Rakowski)

OptionVotes% 
Assembler (any flavour)512.43
C30614.59
C++28713.68
C# / Java69633.17
Lisp150.71
Pascal / Modula / Delphi1266.01
Python361.72
VBScript241.14
Visual Basic26912.82
The first language will depend on what area the developer will want to work24111.49

View optional text answers (93 answers)


 
GeneralRe: Assembly [modified] Pin
richard_k7-Apr-08 17:47
richard_k7-Apr-08 17:47 
GeneralWhere is Haskell? Pin
BugMeNot ACCOUNT7-Apr-08 12:41
BugMeNot ACCOUNT7-Apr-08 12:41 
GeneralRe: Where is Haskell? Pin
Yitzchok Dev7-Apr-08 15:10
Yitzchok Dev7-Apr-08 15:10 
GeneralRe: Where is Haskell? Pin
illium8-Apr-08 8:44
illium8-Apr-08 8:44 
GeneralGet the Newbie Coding Pin
Herl the Pearl7-Apr-08 10:49
Herl the Pearl7-Apr-08 10:49 
GeneralRe: Get the Newbie Coding Pin
Member 9610-Apr-08 6:58
Member 9610-Apr-08 6:58 
GeneralMost of the posts here are missing the point... Pin
richard_k7-Apr-08 8:54
richard_k7-Apr-08 8:54 
GeneralRe: Most of the posts here are missing the point... Pin
illium7-Apr-08 9:47
illium7-Apr-08 9:47 
I think this is due to the fact that most languages live in a "level".. As in "high-level" and "low-level". This because over time, we've "stacked" languages on top of each other..

Consider this layering of languages, from lowest to highest level..

- Processor Machine Code
  - Assembly Language
     - C
       - C++
         - Java Byte Code/.Net CIL/Lots of other language runtimes and compilers
           - Java/C#/Misc Scripting languages/etc..
             - Domain Specific Languages



Each higher level language is implemented in the lower level language, and cuts off it's scope of functionality at it's "layer" (with minor exceptions).

The problem that this creates is that each layer is semantically *very* different from the previous layers. That means that to learn the functioning of a different layer, you need to learn a whole new language, and a whole new functionality paradigm. This is intimidating and very hard to learn. A lot of people never bother to learn it.

What if a single language could be used from top to bottom? What if I could write in C#, and access my x86 opcodes directly, as if I was writing assembly, or re-write the syntax so that I could create my own domain specific language?

I recall, back in the early '90s when I was programming in C, using the Borland Turbo C compiler, who cool it was to be able to in-line assembly code in my C# code. This was a step in the right direction. I didn't need to switch contexts to access a lower level of functionality.. Just put my assembly code in a scoped block (see this article for more info[^]). This can still be done with Visual Studio in C/C++, but not in C#.

C# can also not re-write it's own syntax... F# however, can.

Anyhow, this is only a step in the right direction. What would be even better is if I didn't have to write in a completely different language (even if it is inlined in context), but if I could just do those things within the language directly. C# has some element of this with "unsafe" clocks, in which it can access memory directly in a C/C++ like manner...

But where is the language that lets me use a single language from the most primitive hardware specific low-level calls to the most abstract high-level syntax-customized DSL?

If such a language existed, and was in common use, then the barriers to learning the lower level concepts would be dramatically reduced. Instead of having to learn a whole new language (as well as a whole new set of tools, and switching between environments), a programmer could simply explore within that language the different levels of computer functionality... uncovering new ways to do things, when needed, without impedance.

I think F# is really nice for this, but only in an "upward" manner. It sort of cuts off at the "CIL" layer in the "downward" direction.

"Be liberal in what you accept, and conservative in what you send."
- Jon Postel, First Law of Internet Communications

"It's 5:50 a.m., Do you know where your stack pointer is?"

"If at first you don't succeed, you must be a programmer."

http://vanguard-against-confusion.blogspot.com

GeneralRe: Most of the posts here are missing the point... Pin
z9746478-Apr-08 2:28
z9746478-Apr-08 2:28 
GeneralRe: Most of the posts here are missing the point... Pin
leppie7-Apr-08 10:49
leppie7-Apr-08 10:49 
GeneralRe: Most of the posts here are missing the point... Pin
MurrayLang7-Apr-08 14:09
MurrayLang7-Apr-08 14:09 
GeneralRe: Most of the posts here are missing the point... [modified] Pin
richard_k7-Apr-08 17:28
richard_k7-Apr-08 17:28 
GeneralRe: Most of the posts here are missing the point... Pin
sparkyJaze9-Apr-08 4:44
sparkyJaze9-Apr-08 4:44 
GeneralWho is voting? C++ is definitely the one Pin
kjmcsd7-Apr-08 8:11
kjmcsd7-Apr-08 8:11 
GeneralRe: Who is voting? C++ is definitely the one Pin
leonej_dt7-Apr-08 8:23
leonej_dt7-Apr-08 8:23 
GeneralRe: Who is voting? C++ is definitely the one Pin
gygabyte7-Apr-08 8:32
gygabyte7-Apr-08 8:32 
GeneralRe: Who is voting? C++ is definitely the one Pin
kjmcsd7-Apr-08 8:50
kjmcsd7-Apr-08 8:50 
GeneralRe: Who is voting? C++ is definitely the one Pin
gygabyte7-Apr-08 9:52
gygabyte7-Apr-08 9:52 
GeneralRe: Who is voting? C++ is definitely the one [modified] Pin
richard_k7-Apr-08 17:43
richard_k7-Apr-08 17:43 
GeneralRe: Who is voting? C++ is definitely the one Pin
Niiiissssshhhhhuuuuu7-Apr-08 9:41
Niiiissssshhhhhuuuuu7-Apr-08 9:41 
GeneralRe: Who is voting? C++ is definitely the one Pin
Nemanja Trifunovic7-Apr-08 10:16
Nemanja Trifunovic7-Apr-08 10:16 
GeneralRe: Who is voting? C++ is definitely the one Pin
kjmcsd7-Apr-08 10:48
kjmcsd7-Apr-08 10:48 
GeneralRe: Who is voting? C++ is definitely the one Pin
Member 39383957-Apr-08 12:47
Member 39383957-Apr-08 12:47 
GeneralRe: Who is voting? C++ is definitely the one Pin
Bevan C Bird7-Apr-08 17:13
Bevan C Bird7-Apr-08 17:13 
GeneralRe: Who is voting? C++ is definitely the one Pin
elektrowolf8-Apr-08 0:47
elektrowolf8-Apr-08 0:47 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.