D Programmer Jobs at Sociomantic Labs

Chris wendlec at tcd.ie
Tue Nov 5 02:05:40 PST 2013


On Tuesday, 5 November 2013 at 06:21:34 UTC, H. S. Teoh wrote:
> On Mon, Nov 04, 2013 at 06:12:33PM +0100, PauloPinto wrote:
>> On Monday, 4 November 2013 at 16:49:10 UTC, simendsjo wrote:
>> >On Monday, 4 November 2013 at 16:22:52 UTC, Gary Willoughby 
>> >wrote:
>> >>On Monday, 4 November 2013 at 15:58:48 UTC, Chris wrote:
>> >>>"Who D is Not For
>> >>>- As a first programming language - Basic or Java is more
>> >>>suitable for beginners. D makes an excellent second language
>> >>>for intermediate to advanced programmers."
>> >>>(http://dlang.org/overview.html)
>> >>
>> >>I'd argue against this. I think D would make a terrific first
>> >>language.
>> >(...)
>> >>
>> >>Something like C or D (i'd opt for D) should be any devs 
>> >>first
>> >>language. Simply to educate them in the basics.
>> >
>> >I would say that it really depends on the age too. D as a 
>> >first
>> >language for an 18 year-old technically savvy person might 
>> >work,
>> >but for a 10 year-old?
>> 
>> Well I was looking at Z80 Assembly code at the age of 12.
>
> I started programming Applesoft BASIC around that age too, and 
> when I
> was 14 or so, I was programming in Motorola 6502 assembly 
> language. When
> I was 16 one of my assembly programs was sold in a bookstore. 
> Thereafter
> I moved on to Intel 8088 assembly language. It was only years 
> later, in
> college, that I learned C and C++.
>
> I think BASIC introduced me to the concept behind imperative
> programming, even if at the time it has almost no structured 
> constructs
> and most programs were just GOTO spaghetti soup. Going from 
> there to
> assembly language was actually not that much of a stretch, and 
> with big
> performance payoffs, too.
>
> Of course, the world has moved on since those days, so nowadays 
> we don't
> usually bother with that level of performance fine-tuning 
> except in
> performance critical bits of code.
>
> But anyway, w.r.t. the OP, if I were to be in charge of 
> designing a
> curriculum, I'd put assembly language as the first language to 
> be
> learned, followed by a good high-level language like D. On 
> this, I agree
> with Knuth's sentiments:
>
> 	By understanding a machine-oriented language, the programmer
> 	will tend to use a much more efficient method; it is much 
> closer
> 	to reality. -- D. Knuth
>
> 	People who are more than casually interested in computers 
> should
> 	have at least some idea of what the underlying hardware is 
> like.
> 	Otherwise the programs they write will be pretty weird. -- D.
> 	Knuth
>
>
> T

If someone doesn't know assembly, this book might help "Write 
Great Code, Volume 2: Thinking Low-Level, Writing High-Level".

http://www.amazon.com/Write-Great-Code-Volume-High-Level-ebook/dp/B008Z6ASGC/ref=sr_1_2?ie=UTF8&qid=1383644591&sr=8-2&keywords=thinking+low+level

At least one can get an idea of what's going on under the hood. 
My old man was programming with assembly for a while and told me 
that the suicide rate among assembly programmers was quite high.

He also told me about the rule of diminishing returns*. If with 
well written C program you can get 90% of assembly's performance, 
leave it at that. If you wanna get the remaining 10% and use 
assembly instead, the cost of it may not be worth the returns.

*(http://en.wikipedia.org/wiki/Diminishing_returns)



More information about the Digitalmars-d mailing list