digitalmars.D - D Programmer Jobs at Sociomantic Labs
- Marenz (11/11) Nov 01 2013 Hey D Programmers,
- Dejan Lekic (2/19) Nov 02 2013 I posted the info on LinkedIn. I hope you find a good D programmer! :)
- Andrei Alexandrescu (20/29) Nov 02 2013 Thanks, Mathias.
- Era Scarecrow (5/12) Nov 02 2013 Hmmm then I wonder if they would hire me. I'm not big on
- deadalnix (2/14) Nov 02 2013 You won't know if you don't try ;)
- Andrei Alexandrescu (3/13) Nov 02 2013 Anyone interested send me a resume and I'll hook you in.
- Gary Willoughby (7/9) Nov 03 2013 I'm not of the calibre Facebook is looking for but i had to
- Craig Dillabaugh (3/14) Nov 03 2013 Craig
- deadalnix (3/14) Nov 03 2013 I usually notice that people who lack doubt tends to do worse
- Chris (3/20) Nov 04 2013 People with doubts: I know that I don't know everything.
- Dicebot (10/21) Nov 03 2013 Want to add my 5 cents as someone who has joined the Sociomantic
- Bienlein (14/19) Nov 04 2013 They learned this in the end from all the foreign spies in Berlin
- Dicebot (7/10) Nov 04 2013 I think those are beneficial to dig into some more level parts
- Chris (14/36) Nov 04 2013 Knowledge of Java should be enough to get started. As with all
- Gary Willoughby (22/27) Nov 04 2013 I'd argue against this. I think D would make a terrific first
- simendsjo (20/30) Nov 04 2013 I would say that it really depends on the age too. D as a first
- Craig Dillabaugh (26/59) Nov 04 2013 I think this claim on the website is a hold over from the dark
- Nick Sabalausky (14/31) Nov 04 2013 Yea. In college, I was a CS tutor for the first year programming
- Jacob Carlborg (5/18) Nov 05 2013 We had to learn Object Oriented Analysis and Design before any
- Bienlein (16/20) Nov 05 2013 Unhappily, a lot of Java developers out there in enterprise
- Jacob Carlborg (5/14) Nov 05 2013 Someone would understand byte code manipulation but not inheritance?
- Bienlein (16/18) Nov 05 2013 Ah, you think it seems unbelievable? I thought so too the first
- Chris (4/25) Nov 05 2013 I'm not really surprised, given that employers (especially big
- Jacob Carlborg (4/10) Nov 06 2013 Some of these will imply OO.
- deadalnix (5/18) Nov 05 2013 Well there is understanding and understanding. Yes it is quite
- Jacob Carlborg (6/10) Nov 06 2013 Put in another way:
- PauloPinto (2/20) Nov 04 2013 Well I was looking at Z80 Assembly code at the age of 12.
- Era Scarecrow (6/7) Nov 04 2013 I did x86 Assembly language at 14. Made my own compiler too,
- Walter Bright (2/3) Nov 04 2013 Bah. I programmed the Apollo lunar module computer for NASA when I was 8...
- deadalnix (2/6) Nov 04 2013 XD
- Walter Bright (2/8) Nov 04 2013 ?
- deadalnix (3/14) Nov 04 2013 http://fr.wikipedia.org/wiki/XD The first one is the right one
- Marco Leise (6/22) Dec 05 2013 Oh no, you linked the French Wikipedia, now Walter will never
- H. S. Teoh (28/49) Nov 04 2013 I started programming Applesoft BASIC around that age too, and when I
- Chris (12/78) Nov 05 2013 If someone doesn't know assembly, this book might help "Write
- H. S. Teoh (35/47) Nov 05 2013 I'm not surprised. Assembly programs tend to explode in complexity
- Jacob Carlborg (6/13) Nov 06 2013 Some times you need assembly, not for performance, but because it gives
- Walter Bright (4/8) Nov 05 2013 That wasn't really true for 16 bit DOS programs. There was a much greate...
- Chris (20/32) Nov 05 2013 I have to admit that I know next to nothing about the old 16 bit
- Nick Sabalausky (54/84) Nov 05 2013 Yea! Applesoft BASIC!! That was my first, too :D. Learned on the Apple
- Jacob Carlborg (4/12) Nov 06 2013 Disassemble the TV in to small pieces so they can't watch the news :)
- H. S. Teoh (58/103) Nov 06 2013 Funny, I got an Apple II when I was 8, and was mostly just playing games
- Meta (6/6) Nov 06 2013 Somewhat of a coincidence, my first *real* programming language
- Nick Sabalausky (34/105) Nov 08 2013 I didn't have many games on the Apple II (It was already getting a bit
- t-dog (20/50) Nov 05 2013 ohhh, i see yet another e-biceps thread.
- Robert Schadek (2/2) Nov 05 2013 On 11/05/2013 11:56 AM, t-dog wrote:
- Marco Leise (8/30) Dec 05 2013 I looked at Gorillaz QBasic code when my father bought our
- Joseph Rushton Wakeling (8/12) Dec 06 2013 One of the very widespread "educational" computer programs in the UK was...
- Dicebot (2/4) Nov 04 2013 In Soviet Russia you do assembly in primary school :)
- Max Samukha (7/12) Dec 04 2013 Hehe, that's what I did. For
- qznc (4/19) Nov 04 2013 We need an environment with lots of instant gratification. This
- Chris (8/30) Nov 04 2013 Both are equally important. Instant gratification instead of
- Nick Sabalausky (6/12) Nov 04 2013 Bah. I started with various flavors of basic, then moved straight to
- Chris (4/7) Nov 04 2013 You never know. If you're interested in D, go for it, you have
- Moritz Maxeiner (13/24) Nov 09 2013 Hi,
- Andrej Mitrovic (4/6) Dec 04 2013 Does that imply only people living near to Berlin should apply? If
- Dicebot (5/12) Dec 04 2013 I'll forward this question to HR ;) (I was relocating from
- Don (8/15) Dec 05 2013 Definitely not! Most of our programmers were not living in Berlin
- Andrej Mitrovic (3/5) Dec 05 2013 That's great to hear. My main concern is having a place to stay. I'm
- Andrei Alexandrescu (13/18) Dec 05 2013 I was in the same situation back in the 1990s. I recall to this day the
- eles (3/7) Dec 05 2013 Yes. Good advice, I concede. Dura lex, sed lex.
- Dicebot (6/12) Dec 05 2013 Just got the formal confirmation from HR - you can certainly
- Andrej Mitrovic (5/9) Dec 06 2013 Well I'll certainly think about writing a resume / application. But I
- Dicebot (5/19) Dec 06 2013 Come on, don't be silly :P I don't have a CS degree too (I don't
- Andrej Mitrovic (3/7) Dec 06 2013 Cool. Do you have any tips or must-haves for the resume? I've written
- Dicebot (7/18) Dec 06 2013 [13:56:54] Marenz: real programmers have crappy CVs
- Jacob Carlborg (5/10) Dec 06 2013 Really? That's an enormous advantage. Compared to HR people which will
- Craig Dillabaugh (12/23) Dec 06 2013 Better yet are organizations that use computer programs to screen
- Jacob Carlborg (6/16) Dec 06 2013 Yeah. These they you can upload a Word document or PDF and they will
- Andrej Mitrovic (2/6) Dec 06 2013 Thanks. I've sent something. We'll see. :p
- Andrei Alexandrescu (3/9) Dec 06 2013 Good luck!
- Andrej Mitrovic (2/12) Feb 11 2014 Looks like Sociomantic just grabbed themselves another D dev.
- Andrei Alexandrescu (3/17) Feb 11 2014 Awesome. Congratulations!!
- Andrej Mitrovic (7/8) Feb 11 2014 Thanks! Can you believe I thought this was just going to be
- Andrei Alexandrescu (4/11) Feb 11 2014 It was a shock to me, too, to figure how much people are willing to pay
- Steven Schveighoffer (3/14) Feb 11 2014 #humblebrag
- Andrei Alexandrescu (6/21) Feb 11 2014 It would be if it weren't true. I forgot whether I mentioned this story
- nazriel (4/20) Feb 11 2014 Very nice!
- Joseph Rushton Wakeling (2/3) Feb 11 2014 Congratulations! :-)
- Craig Dillabaugh (9/23) Dec 06 2013 I can't really speak for Sociomantic, but really if you are smart
- Andrei Alexandrescu (8/26) Dec 06 2013 Degrees help for things like immigration, where some bureaucratic rules
- Max Samukha (5/12) Dec 06 2013 I somewhat regret I do not have a solid formal background in a
- Andrei Alexandrescu (3/14) Dec 06 2013 Then do what I did. I started in the PhD program at 32.
- eles (9/16) Dec 05 2013 Sorry to hijack (a bit) this thread, but I would like to ask two
- Robert Schadek (3/9) Dec 04 2013 properly not, as long as our a citizen of the European Union working in
- Max Samukha (2/13) Dec 04 2013
- Dicebot (2/9) Dec 04 2013 Not very convenient but still better than C++ ;)
Hey D Programmers, so, we at Sociomantic Labs are once again (or still) looking for D-Developers in Berlin. And lots of them. Currently still D1, but the process to change to D2 is initiated. You can read more about it here: https://www.sociomantic.com/jobs/d-software-developer/#.UnPl4Xh385Y You can contact me anytime if you have specific questions. You can find me in the IRC #d channel as Marenz, M4renz or Suprano or you just send me an email. cheers, --Mathias
Nov 01 2013
On Fri, 01 Nov 2013 18:37:59 +0100, Marenz wrote:Hey D Programmers, so, we at Sociomantic Labs are once again (or still) looking for D-Developers in Berlin. And lots of them. Currently still D1, but the process to change to D2 is initiated. You can read more about it here: https://www.sociomantic.com/jobs/d-software-developer/#.UnPl4Xh385Y You can contact me anytime if you have specific questions. You can find me in the IRC #d channel as Marenz, M4renz or Suprano or you just send me an email. cheers, --MathiasI posted the info on LinkedIn. I hope you find a good D programmer! :)
Nov 02 2013
On 11/1/13 10:37 AM, Marenz wrote:Hey D Programmers, so, we at Sociomantic Labs are once again (or still) looking for D-Developers in Berlin. And lots of them. Currently still D1, but the process to change to D2 is initiated. You can read more about it here: https://www.sociomantic.com/jobs/d-software-developer/#.UnPl4Xh385Y You can contact me anytime if you have specific questions. You can find me in the IRC #d channel as Marenz, M4renz or Suprano or you just send me an email.Thanks, Mathias. I've considered posting a similar message to this board, and this is as good occasion as any. I should emphasize that pursuing a job that requires or allows D is among the best things a member of our community could to do to help the language. 1. Sponsors such as Sociomantic have sponsored DConf 2013 in large part to further their recruitment interest. There is no better way to motivate further event sponsorship than to show that past events resulted in strong hiring. 2. At this point it helps to convert those in the community who only work on D as a hobby outside work, to working full-time with D (and as a consequence, to some extent at least, _on_ D). As I made public recently, Facebook is investigating serious use of D, and significant precedents have been already created. There would be no better way to argue ramping up pursuit of D (including hosting of DConf 2014) than demonstrating that talented engineers are applying to Facebook because it's offering such an opportunity. I am pretty sure this is the case for other employers as well. Andrei
Nov 02 2013
On Saturday, 2 November 2013 at 19:50:48 UTC, Andrei Alexandrescu wrote:As I made public recently, Facebook is investigating serious use of D, and significant precedents have been already created. There would be no better way to argue ramping up pursuit of D (including hosting of DConf 2014) than demonstrating that talented engineers are applying to Facebook because it's offering such an opportunity. I am pretty sure this is the case for other employers as well.Hmmm then I wonder if they would hire me. I'm not big on facebook (using the site), but I wouldn't mind a job and helping the community at the same time.
Nov 02 2013
On Sunday, 3 November 2013 at 05:29:45 UTC, Era Scarecrow wrote:On Saturday, 2 November 2013 at 19:50:48 UTC, Andrei Alexandrescu wrote:You won't know if you don't try ;)As I made public recently, Facebook is investigating serious use of D, and significant precedents have been already created. There would be no better way to argue ramping up pursuit of D (including hosting of DConf 2014) than demonstrating that talented engineers are applying to Facebook because it's offering such an opportunity. I am pretty sure this is the case for other employers as well.Hmmm then I wonder if they would hire me. I'm not big on facebook (using the site), but I wouldn't mind a job and helping the community at the same time.
Nov 02 2013
On 11/2/13 10:29 PM, Era Scarecrow wrote:On Saturday, 2 November 2013 at 19:50:48 UTC, Andrei Alexandrescu wrote:Anyone interested send me a resume and I'll hook you in. AndreiAs I made public recently, Facebook is investigating serious use of D, and significant precedents have been already created. There would be no better way to argue ramping up pursuit of D (including hosting of DConf 2014) than demonstrating that talented engineers are applying to Facebook because it's offering such an opportunity. I am pretty sure this is the case for other employers as well.Hmmm then I wonder if they would hire me. I'm not big on facebook (using the site), but I wouldn't mind a job and helping the community at the same time.
Nov 02 2013
On Sunday, 3 November 2013 at 06:01:28 UTC, Andrei Alexandrescu wrote:Anyone interested send me a resume and I'll hook you in. AndreiI'm not of the calibre Facebook is looking for but i had to exclaim that is fantastically generous of you Andrei. I'm lucky in that i've been using D fulltime in my work since May and loving every minute of it. (Porting several database daemons from C to D, it's amazing how much less code there is in D!).
Nov 03 2013
On Sunday, 3 November 2013 at 11:47:13 UTC, Gary Willoughby wrote:On Sunday, 3 November 2013 at 06:01:28 UTC, Andrei Alexandrescu wrote:How do you know that? You might surprise yourself.Anyone interested send me a resume and I'll hook you in. AndreiI'm not of the calibre Facebook is looking for but i had to exclaim that is fantastically generous of you Andrei.I'm lucky in that i've been using D fulltime in my work since May and loving every minute of it. (Porting several database daemons from C to D, it's amazing how much less code there is in D!).Craig
Nov 03 2013
On Sunday, 3 November 2013 at 11:47:13 UTC, Gary Willoughby wrote:On Sunday, 3 November 2013 at 06:01:28 UTC, Andrei Alexandrescu wrote:I usually notice that people who lack doubt tends to do worse than the ones with doubt in their skills.Anyone interested send me a resume and I'll hook you in. AndreiI'm not of the calibre Facebook is looking for but i had to exclaim that is fantastically generous of you Andrei. I'm lucky in that i've been using D fulltime in my work since May and loving every minute of it. (Porting several database daemons from C to D, it's amazing how much less code there is in D!).
Nov 03 2013
On Sunday, 3 November 2013 at 12:55:26 UTC, deadalnix wrote:On Sunday, 3 November 2013 at 11:47:13 UTC, Gary Willoughby wrote:People with doubts: I know that I don't know everything. People without doubts: I don't know that I don't know everything.On Sunday, 3 November 2013 at 06:01:28 UTC, Andrei Alexandrescu wrote:I usually notice that people who lack doubt tends to do worse than the ones with doubt in their skills.Anyone interested send me a resume and I'll hook you in. AndreiI'm not of the calibre Facebook is looking for but i had to exclaim that is fantastically generous of you Andrei. I'm lucky in that i've been using D fulltime in my work since May and loving every minute of it. (Porting several database daemons from C to D, it's amazing how much less code there is in D!).
Nov 04 2013
On Friday, 1 November 2013 at 17:38:01 UTC, Marenz wrote:Hey D Programmers, so, we at Sociomantic Labs are once again (or still) looking for D-Developers in Berlin. And lots of them. Currently still D1, but the process to change to D2 is initiated. You can read more about it here: https://www.sociomantic.com/jobs/d-software-developer/#.UnPl4Xh385Y You can contact me anytime if you have specific questions. You can find me in the IRC #d channel as Marenz, M4renz or Suprano or you just send me an email. cheers, --MathiasWant to add my 5 cents as someone who has joined the Sociomantic team only half an year ago. Initially my motivation was mostly C++ frustration outrage but I was pleasantly surprised by work environment here, which is very open-minded and task-focused, something you don't expect considering all the Germany cliches :) Perfection is achievable, of course, but it feels really nice to learn from some of active D contributors directly. And being D expert is not really necessary, as Don has mentioned in his DConf talk, converting guys from other languages is a routine :)
Nov 03 2013
Sociomantic team only half an year ago. Initially my motivation was mostly C++ frustration outrage but I was pleasantly surprised by work environment here, which is very open-minded and task-focused, something you don't expect considering all the Germany cliches :)They learned this in the end from all the foreign spies in Berlin ... I started looking into D a bit mostly out of frustration with Java staying put for years, too much dependency on XML, change towards commodity programing, etc. Other JVM languages are either loaded with too many incoherent features (Scala), only dynamic add-on to Java (Groovy), not there yet (Kotlin), etc. D seems to others), but my impression is that you should have been doing some serious C or C++ before. I wonder whether it's worth diving into D without a serious background in C/C++. Will be fun at home, but jobwise it won't count. Really a pitty. Maybe the best is to wait for Kotlin. Don't know ... What do you think how much C/C++ skills are beneficial? -- Bienlein
Nov 04 2013
On Monday, 4 November 2013 at 14:01:32 UTC, Bienlein wrote:Don't know ... What do you think how much C/C++ skills are beneficial? -- BienleinI think those are beneficial to dig into some more level parts but not absolutely necessary. As current deployed code base is still D1/Tango, it has look&feel quite similar to Java (contrary to more procedural/template thing modern Phobos endorses). Being a good programmer is more important than knowing a specific language anyway. And applying never harms ;)
Nov 04 2013
On Monday, 4 November 2013 at 14:01:32 UTC, Bienlein wrote:Knowledge of Java should be enough to get started. As with all new languages, you'll have to be open-minded and willing to learn new concepts, which is an important skill in software development anyway. "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) Since you are already unhappy with other languages and also know why, I think you are ready to dive into D. I'm sure you'll recognize most of the features in this list: http://dlang.org/comparison.htmlSociomantic team only half an year ago. Initially my motivation was mostly C++ frustration outrage but I was pleasantly surprised by work environment here, which is very open-minded and task-focused, something you don't expect considering all the Germany cliches :)They learned this in the end from all the foreign spies in Berlin ... I started looking into D a bit mostly out of frustration with Java staying put for years, too much dependency on XML, change towards commodity programing, etc. Other JVM languages are either loaded with too many incoherent features (Scala), only dynamic add-on to Java (Groovy), not there yet (Kotlin), etc. D seems to others), but my impression is that you should have been doing some serious C or C++ before. I wonder whether it's worth diving into D without a serious background in C/C++. Will be fun at home, but jobwise it won't count. Really a pitty. Maybe the best is to wait for Kotlin. Don't know ... What do you think how much C/C++ skills are beneficial? -- Bienlein
Nov 04 2013
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. Remember, you wouldn't start with metaprogramming on day one. If you started with the basics using simple syntax and introduce the compiler incrementally it would be very educational. IMHO new programmers should start by learning how memory works, what binary is, how big built-in types are, etc. I am continually amazed when working with seasoned developers who have no idea why floats aren't precise, what a pointer is or what or bit-shifting does. It's staggering. I personally also think BASIC is a total waste of time for beginners. I does something to peoples minds that once they learn it, they never want to use anything else ever again. I totally agree with the following quote: "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration." -Edsger W. Dijkstra Years ago i was part of a BASIC community and the flamewars about even thinking about new technologies were something to behold. Something like C or D (i'd opt for D) should be any devs first language. Simply to educate them in the basics.
Nov 04 2013
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? And for a non-english speaker? I remember having a very hard time reading English books when I was younger (there might be many programming books for languages with a lot of speakers, but not for all languages), and had difficulties grokking pointers and bit operations. Of course, kids today is much better at English at a young age due to the internet etc., but it's still a lot of new terminology you aren't used to. Being in college now, I see a lot of grown-ups *really* struggling to grasp *basic* programming concepts using Java (even most of the teachers unfortunately). Starting with a limited language like Java probably isn't that bad until you are capable of both reading and writing non-trivial code. I doubt most people here are representative for the average programmer. Many of the discussions here are way over my head, but I still hope that I'm above average.
Nov 04 2013
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:I think this claim on the website is a hold over from the dark days of D language evolution and lack of documentation. It should go!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 agree.I'd argue against this. I think D would make a terrific first language.(...)But if you are Turkish, you're set!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? And for a non-english speaker? I remember having a very hard time reading English books when I was younger (there might be many programming books for languages with a lot of speakers, but not for all languages), and had difficulties grokking pointers and bit operations. Of course, kids today is much better at English at a young age due to the internet etc., but it's still a lot of new terminology you aren't used to.Being in college now, I see a lot of grown-ups *really* struggling to grasp *basic* programming concepts using Java (even most of the teachers unfortunately). Starting with a limited language like Java probably isn't that bad until you are capable of both reading and writing non-trivial code.While D code can quickly become complex relative to Java, at the same time I think in a beginner course/book could easily be geared to keep away from D's fancier features and just teach basics. For example, code for reading a text file in in Java is (top answer on SO): static String readFile(String path, Charset encoding) throws IOException { byte[] encoded = Files.readAllBytes(Paths.get(path)); return encoding.decode(ByteBuffer.wrap(encoded)).toString(); } vs. readText(filename) in D. Not really up on Java these days, so perhaps Java now includes a readText() like method now. Anyway, hard to beat the D version for easy!I doubt most people here are representative for the average programmer. Many of the discussions here are way over my head, but I still hope that I'm above average.Hey, that is how I feel. When I talk with other programmers at work/school I feel pretty smart. When I come on here, I feel like a moron.
Nov 04 2013
On 11/4/2013 12:10 PM, Craig Dillabaugh wrote:While D code can quickly become complex relative to Java, at the same time I think in a beginner course/book could easily be geared to keep away from D's fancier features and just teach basics. For example, code for reading a text file in in Java is (top answer on SO): static String readFile(String path, Charset encoding) throws IOException { byte[] encoded = Files.readAllBytes(Paths.get(path)); return encoding.decode(ByteBuffer.wrap(encoded)).toString(); } vs. readText(filename) in D. Not really up on Java these days, so perhaps Java now includes a readText() like method now. Anyway, hard to beat the D version for easy!Yea. In college, I was a CS tutor for the first year programming students. This was at a school that used Java. I can personally vouch that Java's a terrible language for beginners. (Well, and for everyone else, really ;) ) A major part of the problem is Java's religious fervor for OO. There's a natural tendency for the students to end up being taught OO *before* they have a sufficient grasp on flow-of-execution (In fact, Java makes it difficult for the teachers to avoid doing that.) But, OO is an *architectural* concept that's completely meaningless (and in my observations, extremely confusing) without some form of either imperative or declarative foundation. The other issue is Java's insane amount of boilerplate. Great way to teach beginners that programming is tedious.
Nov 04 2013
On 2013-11-05 00:03, Nick Sabalausky wrote:Yea. In college, I was a CS tutor for the first year programming students. This was at a school that used Java. I can personally vouch that Java's a terrible language for beginners. (Well, and for everyone else, really ;) ) A major part of the problem is Java's religious fervor for OO. There's a natural tendency for the students to end up being taught OO *before* they have a sufficient grasp on flow-of-execution (In fact, Java makes it difficult for the teachers to avoid doing that.) But, OO is an *architectural* concept that's completely meaningless (and in my observations, extremely confusing) without some form of either imperative or declarative foundation. The other issue is Java's insane amount of boilerplate. Great way to teach beginners that programming is tedious.We had to learn Object Oriented Analysis and Design before any programming in Java at the university. -- /Jacob Carlborg
Nov 05 2013
A major part of the problem is Java's religious fervor for OO. There's a natural tendency for the students to end up being taught OO *before* they have a sufficient grasp on flow-of-executionUnhappily, a lot of Java developers out there in enterprise computing do some kind of programming with classes, rather than OO. For example, some framework developer intended the users to overwrite some inherited method in their concrete subclass. As this is not understood people do some tricks with reflection or even byte code manipulation. When you show them that they only need to overwrite the inherited method, then first call super and then add their own stuff, they are surprised. And some of those people are now architects and your boss. Oh my, oh my... That's a reason many Java developers look at Scala as an alternative JVM language or at something else, because it is simply not fun any more ... I think the first language for CS students should be one without garbage collection. It is important to understand what a big win a GC is if the siutation permits using one. -- Bienlein
Nov 05 2013
On 2013-11-05 12:41, Bienlein wrote:Unhappily, a lot of Java developers out there in enterprise computing do some kind of programming with classes, rather than OO. For example, some framework developer intended the users to overwrite some inherited method in their concrete subclass. As this is not understood people do some tricks with reflection or even byte code manipulation. When you show them that they only need to overwrite the inherited method, then first call super and then add their own stuff, they are surprised. And some of those people are now architects and your boss. Oh my, oh my...Someone would understand byte code manipulation but not inheritance? Seems very strange. -- /Jacob Carlborg
Nov 05 2013
Someone would understand byte code manipulation but not inheritance? Seems very strange.Ah, you think it seems unbelievable? I thought so too the first time. OOP and OOD is not on the job ads any more as earlier. They are now filled with things like JSP, JSF, EJBs, JNDI, JTA, JMS, SOAP, REST, ICEFaces, Spring, Ajax, OSGi, Spring, Axis, CXF, Oracle, Sybase, DB/2, Oracle, MS-SQL, MySQL, Hibernate, Quartz, JMeter, XSD, XSLT, JavaScript, etc. So people after graduating are busy like hell learning some of those things to get a job. That leaves absolutely no time to learn OOP/OOD. So once they managed to get a job, they have to find ways to get the work done to keep it. Recruiters don't understand that OOP/OOD is a base technology and many companies don't, either. A lot of Java work is getting some coding work done. If you got that web service implemented in less than 5 hours, then you are good. Otherwise you are bad. Nobody will look at the code whether it reflects some design or something. Sad, but often true out there.
Nov 05 2013
On Tuesday, 5 November 2013 at 12:36:21 UTC, Bienlein wrote:I'm not really surprised, given that employers (especially big companies) love buzz words. It's the same everywhere, not just in computing.Someone would understand byte code manipulation but not inheritance? Seems very strange.Ah, you think it seems unbelievable? I thought so too the first time. OOP and OOD is not on the job ads any more as earlier. They are now filled with things like JSP, JSF, EJBs, JNDI, JTA, JMS, SOAP, REST, ICEFaces, Spring, Ajax, OSGi, Spring, Axis, CXF, Oracle, Sybase, DB/2, Oracle, MS-SQL, MySQL, Hibernate, Quartz, JMeter, XSD, XSLT, JavaScript, etc. So people after graduating are busy like hell learning some of those things to get a job. That leaves absolutely no time to learn OOP/OOD. So once they managed to get a job, they have to find ways to get the work done to keep it. Recruiters don't understand that OOP/OOD is a base technology and many companies don't, either. A lot of Java work is getting some coding work done. If you got that web service implemented in less than 5 hours, then you are good. Otherwise you are bad. Nobody will look at the code whether it reflects some design or something. Sad, but often true out there.
Nov 05 2013
On 2013-11-05 13:36, Bienlein wrote:Ah, you think it seems unbelievable? I thought so too the first time. OOP and OOD is not on the job ads any more as earlier. They are now filled with things like JSP, JSF, EJBs, JNDI, JTA, JMS, SOAP, REST, ICEFaces, Spring, Ajax, OSGi, Spring, Axis, CXF, Oracle, Sybase, DB/2, Oracle, MS-SQL, MySQL, Hibernate, Quartz, JMeter, XSD, XSLT, JavaScript, etc.Some of these will imply OO. -- /Jacob Carlborg
Nov 06 2013
On Tuesday, 5 November 2013 at 12:24:21 UTC, Jacob Carlborg wrote:On 2013-11-05 12:41, Bienlein wrote:Well there is understanding and understanding. Yes it is quite common that people understand bytecode but not inheritance, from a software architecture point of view (not how it works). We even have quite a lot of instances of this in this newsgroup.Unhappily, a lot of Java developers out there in enterprise computing do some kind of programming with classes, rather than OO. For example, some framework developer intended the users to overwrite some inherited method in their concrete subclass. As this is not understood people do some tricks with reflection or even byte code manipulation. When you show them that they only need to overwrite the inherited method, then first call super and then add their own stuff, they are surprised. And some of those people are now architects and your boss. Oh my, oh my...Someone would understand byte code manipulation but not inheritance? Seems very strange.
Nov 05 2013
On 2013-11-05 19:50, deadalnix wrote:Well there is understanding and understanding. Yes it is quite common that people understand bytecode but not inheritance, from a software architecture point of view (not how it works). We even have quite a lot of instances of this in this newsgroup.Put in another way: It seems strange someone can do bytecode manipulation but not create a subclass and override a method. -- /Jacob Carlborg
Nov 06 2013
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:Well I was looking at Z80 Assembly code at the age of 12.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?
Nov 04 2013
On Monday, 4 November 2013 at 17:12:34 UTC, PauloPinto wrote:Well I was looking at Z80 Assembly code at the age of 12.I did x86 Assembly language at 14. Made my own compiler too, although I discontinued it as it was inferior to NASM, and only allowed you to make .com files. Still that was a fun time. On the other hand I recall extending the assembly language in my own compiler (as safe mini-macros).
Nov 04 2013
On 11/4/2013 2:34 PM, Era Scarecrow wrote:I did x86 Assembly language at 14.Bah. I programmed the Apollo lunar module computer for NASA when I was 8.
Nov 04 2013
On Tuesday, 5 November 2013 at 01:15:11 UTC, Walter Bright wrote:On 11/4/2013 2:34 PM, Era Scarecrow wrote:XDI did x86 Assembly language at 14.Bah. I programmed the Apollo lunar module computer for NASA when I was 8.
Nov 04 2013
On 11/4/2013 6:28 PM, deadalnix wrote:On Tuesday, 5 November 2013 at 01:15:11 UTC, Walter Bright wrote:?On 11/4/2013 2:34 PM, Era Scarecrow wrote:XDI did x86 Assembly language at 14.Bah. I programmed the Apollo lunar module computer for NASA when I was 8.
Nov 04 2013
On Tuesday, 5 November 2013 at 02:31:25 UTC, Walter Bright wrote:On 11/4/2013 6:28 PM, deadalnix wrote:http://fr.wikipedia.org/wiki/XD The first one is the right one here.On Tuesday, 5 November 2013 at 01:15:11 UTC, Walter Bright wrote:?On 11/4/2013 2:34 PM, Era Scarecrow wrote:XDI did x86 Assembly language at 14.Bah. I programmed the Apollo lunar module computer for NASA when I was 8.
Nov 04 2013
Am Tue, 05 Nov 2013 03:40:52 +0100 schrieb "deadalnix" <deadalnix gmail.com>:On Tuesday, 5 November 2013 at 02:31:25 UTC, Walter Bright wrote:Oh no, you linked the French Wikipedia, now Walter will never find out that it is a grining face with closed eyes. -- MarcoOn 11/4/2013 6:28 PM, deadalnix wrote:http://fr.wikipedia.org/wiki/XD The first one is the right one here.On Tuesday, 5 November 2013 at 01:15:11 UTC, Walter Bright wrote:?On 11/4/2013 2:34 PM, Era Scarecrow wrote:XDI did x86 Assembly language at 14.Bah. I programmed the Apollo lunar module computer for NASA when I was 8.
Dec 05 2013
On Mon, Nov 04, 2013 at 06:12:33PM +0100, PauloPinto wrote:On Monday, 4 November 2013 at 16:49:10 UTC, simendsjo wrote: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 -- Без труда не выловишь и рыбку из пруда.On Monday, 4 November 2013 at 16:22:52 UTC, Gary Willoughby wrote:Well I was looking at Z80 Assembly code at the age of 12.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?
Nov 04 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: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)On Monday, 4 November 2013 at 16:49:10 UTC, simendsjo wrote: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 TOn Monday, 4 November 2013 at 16:22:52 UTC, Gary Willoughby wrote:Well I was looking at Z80 Assembly code at the age of 12.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?
Nov 05 2013
On Tue, Nov 05, 2013 at 11:05:40AM +0100, Chris wrote: [...]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.I'm not surprised. Assembly programs tend to explode in complexity exponentially as code size increases. You can only go so far before the whole thing becomes unmanageably complex, at which point the only way to continue is to start fixing calling conventions, naming conventions, data structure storage formats, etc., i.e., reinvent C.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.[...] Well yes. My point was not to force students to write *all* their code in assembly, but to give them some experience in writing small(!) assembly programs so that they get a taste of how the machine actually works under the hood. Once they have that down, I'd move straight on to a nice high-level language like D, because in 90% of the code you write, you don't *need* the kind of performance direct assembly coding gives you. That's why GCC has inline assembly extensions, and D has built-in asm blocks: for the most part, you just write in high-level D, but for the few bits of performance-critical code, you have the option of directly writing in assembly. Writing *everything* in assembly is a big waste of time, because 90% of your code isn't part of the performance bottleneck, so you're just making yourself suffer the tedium of assembly coding for basically zero benefit. By writing the non-critical parts of the code in a high-level language, you get huge savings on your development cost, but in the 10% of the code where performance actually matters, writing in assembly can win you huge performance gains. The same argument goes for the GC: 90% of applications out there don't *need* manual fine-tuning of manual memory management; you can save so much development time (and debugging effort!) just by using the GC instead. It's only the 10% of applications that absolutely need performance guarantees, where you actually need to worry about manual memory management. T -- People tell me I'm stubborn, but I refuse to accept it!
Nov 05 2013
On 2013-11-05 19:23, H. S. Teoh wrote:Well yes. My point was not to force students to write *all* their code in assembly, but to give them some experience in writing small(!) assembly programs so that they get a taste of how the machine actually works under the hood. Once they have that down, I'd move straight on to a nice high-level language like D, because in 90% of the code you write, you don't *need* the kind of performance direct assembly coding gives you.Some times you need assembly, not for performance, but because it gives you access to hardware you don't have access to otherwise. But that will most likely be a very small part of your code as well. -- /Jacob Carlborg
Nov 06 2013
On 11/5/2013 2:05 AM, Chris wrote: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.That wasn't really true for 16 bit DOS programs. There was a much greater return for ASM programs - not just speed, but a large size reduction. The latter was critical because of the tight memory constraints.
Nov 05 2013
On Tuesday, 5 November 2013 at 19:53:53 UTC, Walter Bright wrote:On 11/5/2013 2:05 AM, Chris wrote:I have to admit that I know next to nothing about the old 16 bit DOS programs, and not much about ASM. I'm sure that size reduction was critical in 16 bit times. However, and that's what my old man was talking about, once a programmer left the company, they could bin the program, because only the author knew what was really going on. The new programmer had to start from scratch. It was not just about performance, maintenance was also an issue. And as regards performance, he told me that many ASM programmers would use the same instruction sets over and over again. They didn't want to use new or smarter, more efficient instructions. This was partly down to habit/laziness and partly to fear of messing up the program. So the performance gain wasn't really there, and after a few years a good C compiler could probably create better code than ASM with old and suboptimal instructions. But I agree, it's good to know what's going on under the hood, how memory works. I remember a talk by a guy from YouTube. He pointed out that young programmers fresh from college are used to 2GB memory and Java, only to find out that youtube has fierce memory restrictions.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.That wasn't really true for 16 bit DOS programs. There was a much greater return for ASM programs - not just speed, but a large size reduction. The latter was critical because of the tight memory constraints.
Nov 05 2013
On 11/5/2013 1:20 AM, H. S. Teoh wrote:On Mon, Nov 04, 2013 at 06:12:33PM +0100, PauloPinto wrote:Yea! Applesoft BASIC!! That was my first, too :D. Learned on the Apple IIc with the packed-in tutorial disks (which I think are *still* better designs than most training materials we have today.) Later on I did a whole bunch of QBASIC, and a little GWBASIC. I tried a bit of the Apple Logo too, which was nice as an electronic Spirograph. But it never stuck me as being quite as well-suited to interactive programs as basic, so I didn't use it much. I've actually tried to trace back just when it was I started on Applesoft BASIC, and best I can figure I must have been around 7 or 8. I know I had already learned to read (obviously), and I also remember it was definitely before second grade (but not *immediately* before, IIRC). Not intending to compete on ages of course, it's just that when you're a kid and you're at the Grandparent's place for the evening, all the adults are watching the news, and the only thing remotely toy-like is an Apple II...well, what else you gonna do? :)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.Much the same here. I was about 12 or 13 (I remember I was in 7th grade). Although it wasn't so much "assembly language" as it was the machine code memory editor built into the Apple II. Didn't do a lot with it though because it was very shortly after I started *trying* to learn C...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++.Heh, again, somewhat similar: I *tried* to learn C at 13, but found it awkward. So I went back to QBASIC, and later on Visual BASIC 3. When I was around 15, maybe 16, I found this book at the local "Electronics Boutique" as part of a Starter Kit bundle: http://www.amazon.com/Teach-Yourself-Game-Programming-Cd-Ro/dp/0672305623 That book made C (and pointers) finally "click" for me (plus the occasional 386/486/586 asm in the bottleneck sections). Then at around 16-17, I got a Breakout/Arkanoid clone in a few of those several-budget-games-on-one-CD packages that were in all the computer stores at the time. Didn't make much off it, (even McDonald's paid more) but I was thrilled :) Then in late-HS/college I did a centepede clone that didn't really take off (wasn't anything spectacular anyway), wound up in web development, and didn't really get back to indie games until now. Sometimes I'm amazed at some of the game-dev tools we have now (like Unity3D), and at other times I feel like a dinosaur playing catch-up. ;) Which is strange - at my age, *nothing* should be making me feel old. And yet...I think BASIC introduced me to the concept behind imperative programming,Exactly. I feel exactly the same way about it.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.Yea, I didn't realize it at the time, but years later it occurred to me just how bizarrely similar BASIC and Assembly are, considering that one is seen as "high-level" and the other is the quintessential "low-level".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.Strange thing is, I can't decide whether or not I miss it. I certainly don't think I would want to do that sort of low-level tweaking on modern hardware. With all the performance-related complications and nuances of modern processors (even pilelining is way beyond old-news now), not to mention the variation, cycle counting would be a nightmare. Of course, I'm sure cycle counting's outdated anyway!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. KnuthIf I were designing a Programming 101 curriculum, I honestly don't know what language I'd pick. In many ways I don't think a lot of the details really matter much. But what I do think are the most important things in a first language are instant-gratification and a strong emphasis on flow-of-execution. Heck, I might even pick Applesoft BASIC ;) Of course, a lot of the choice would depend on the audience. For graduate-level math students, Haskell would be a real possibility.
Nov 05 2013
On 2013-11-06 04:37, Nick Sabalausky wrote:I've actually tried to trace back just when it was I started on Applesoft BASIC, and best I can figure I must have been around 7 or 8. I know I had already learned to read (obviously), and I also remember it was definitely before second grade (but not *immediately* before, IIRC). Not intending to compete on ages of course, it's just that when you're a kid and you're at the Grandparent's place for the evening, all the adults are watching the news, and the only thing remotely toy-like is an Apple II...well, what else you gonna do? :)Disassemble the TV in to small pieces so they can't watch the news :) -- /Jacob Carlborg
Nov 06 2013
On Tue, Nov 05, 2013 at 10:37:38PM -0500, Nick Sabalausky wrote: [...]I've actually tried to trace back just when it was I started on Applesoft BASIC, and best I can figure I must have been around 7 or 8. I know I had already learned to read (obviously), and I also remember it was definitely before second grade (but not *immediately* before, IIRC). Not intending to compete on ages of course, it's just that when you're a kid and you're at the Grandparent's place for the evening, all the adults are watching the news, and the only thing remotely toy-like is an Apple II...well, what else you gonna do? :)Funny, I got an Apple II when I was 8, and was mostly just playing games on it. When I was 10 or 11, I got so sick of playing games that I decided to learn programming instead (i.e., to write my own games :P). Sadly, I never got very far on that front. [...]Heh, again, somewhat similar: I *tried* to learn C at 13, but found it awkward. So I went back to QBASIC, and later on Visual BASIC 3. When I was around 15, maybe 16, I found this book at the local "Electronics Boutique" as part of a Starter Kit bundle: http://www.amazon.com/Teach-Yourself-Game-Programming-Cd-Ro/dp/0672305623 That book made C (and pointers) finally "click" for me (plus the occasional 386/486/586 asm in the bottleneck sections).Really? I understood pointers right away 'cos they were just fancy terminology for addresses in assembly language. :)Then at around 16-17, I got a Breakout/Arkanoid clone in a few of those several-budget-games-on-one-CD packages that were in all the computer stores at the time. Didn't make much off it, (even McDonald's paid more) but I was thrilled :)Nice! I don't think I ever got that far in my attempts to write games at the time. I was bogged down with having too many radical ideas without the skills to actually implement them. :P [...]True. For a total beginner's intro to programming, assembly is probably a bit too scary. :P Applesoft might have been a good choice but its age is definitely showing. I dunno. Maybe D? :) At least, the simplest parts of it. But for computer science majors, I'd say dump assembly on them and if they can't handle it, let them switch majors since they won't turn out to be good programmers anyway. :PBut 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. KnuthIf I were designing a Programming 101 curriculum, I honestly don't know what language I'd pick. In many ways I don't think a lot of the details really matter much. But what I do think are the most important things in a first language are instant-gratification and a strong emphasis on flow-of-execution. Heck, I might even pick Applesoft BASIC ;)Of course, a lot of the choice would depend on the audience. For graduate-level math students, Haskell would be a real possibility.IMNSHO, for graduate-level math students I would *definitely* start with assembly language. It would serve to dispel the misconception that the machine is actually capable of representing arbitrary natural numbers or real numbers, or computing the exact value of transcendental functions, etc.. Mathematicians tend to think in terms of idealized entities -- infinite precision, infinite representation length, etc., all of which are impossible on an actual computer. In order to program effectively, the first order of business is to learn the limitations of the machine, and then learn how to translate idealized mathematical entities into the machine's limited representation in such a way that it would be able to compute the desired result. In fact, now that I think of it, I think the first lecture would be to convince them of how much computers suck -- can't represent natural numbers, can't store real numbers, can't compute transcendental functions, don't have infinite speed/time so only a small subset of mathematical functions are actually computable, etc.. Then the second lecture will explain what the computer *can* do. That would be when they'd start learning assembly language, and see for themselves what the machine is actually doing (and thereby firmly dispelling any remaining illusions they may have about mathematical entities vs. what is actually representable on the machine). Then maybe at the end of the course, after having built up a realistic notion of what the machine is capable (and incapable) of, explain how things may be put together to produce the illusion of mathematical computation, say with a functional language like Haskell. Later on, when they learn the theory of computation, I'd emphasize the fact that even though we computer people speak of Turing completeness all the time, actually no such computer exists that is *actually* Turing-complete, because all physical computers have finite storage, and therefore are no more than glorified finite-state machines. :) Of course, that in no way makes the theory of Turing machines useless -- it's a useful idealized abstraction -- but we shouldn't be under the illusion that we actually have access to the capabilities of an actual Turing machine with an infinite tape. Some things are computable in theory, but outright infeasible in practice. Like computing the Ackermann function of Graham's number, say. :-P T -- What do you call optometrist jokes? Vitreous humor.
Nov 06 2013
Somewhat of a coincidence, my first *real* programming language was C++ (though I'd used GML/Visual Basic quite extensively before that), and I learned it primarily using Bartosz Milewski's book "C++ In Action: Industrial Strength Programming"[0]. It was from his site that I first learned about D. [0]: http://www.relisoft.com/index.htm
Nov 06 2013
On 11/6/2013 1:32 PM, H. S. Teoh wrote:> On Tue, Nov 05, 2013 at 10:37:38PM -0500, Nick Sabalausky wrote:[...]I didn't have many games on the Apple II (It was already getting a bit dated when I was using it, so software was hard to find. Ironically, it's much easier to find software for it now thanks to the Internet and an easy-to-build PC <-> Apple II serial cable.) But my brother and sister and I loved the rabbit game that came with it on one of the tutorial disks. Later on, I did also have 2400 A.D. (I've always loved that style of graphics) plus all the BASIC games I typed in from the "how to program in BASIC" books at the library. Initially, the tutorial disks and BASIC were pretty much all I had to do on the system, so that's what I did :)I've actually tried to trace back just when it was I started on Applesoft BASIC, and best I can figure I must have been around 7 or 8. I know I had already learned to read (obviously), and I also remember it was definitely before second grade (but not *immediately* before, IIRC). Not intending to compete on ages of course, it's just that when you're a kid and you're at the Grandparent's place for the evening, all the adults are watching the news, and the only thing remotely toy-like is an Apple II...well, what else you gonna do? :)Funny, I got an Apple II when I was 8, and was mostly just playing games on it. When I was 10 or 11, I got so sick of playing games that I decided to learn programming instead (i.e., to write my own games :P). Sadly, I never got very far on that front.[...]http://www.amazon.com/Teach-Yourself-Game-Programming-Cd-Ro/dp/0672305623Heh, again, somewhat similar: I *tried* to learn C at 13, but found it awkward. So I went back to QBASIC, and later on Visual BASIC 3. When I was around 15, maybe 16, I found this book at the local "Electronics Boutique" as part of a Starter Kit bundle:Admittedly, I hadn't gotten very far with the machine code I had done. Mainly just plotting some (giant) "pixels" to the lores screen. IIRC the *main* thing about pointers I had trouble with was (no pun intended): What's the point? From what I had read in the intro to C books, they were always just described as another way to refer to a named variable. So I thought, "Uhh, so why not just use the actual variable instead?" Also the whole notion of "buffers" just seemed...advanced. But then when I started to understand that arrays were nothing more than pointers, it all just "clicked". (It wasn't until many years later I realized arrays aren't *always* mere pointers depending on the language. But by then I'd already understood pointers and memory anyway.)That book made C (and pointers) finally "click" for me (plus the occasional 386/486/586 asm in the bottleneck sections).Really? I understood pointers right away 'cos they were just fancy terminology for addresses in assembly language. :)Finishing is indeed one of the hardest parts. I've always had far more unfinished projects than finished. At the time, I probably never would have finished those games if it weren't for the prodding of the project's producer.Then at around 16-17, I got a Breakout/Arkanoid clone in a few of those several-budget-games-on-one-CD packages that were in all the computer stores at the time. Didn't make much off it, (even McDonald's paid more) but I was thrilled :)Nice! I don't think I ever got that far in my attempts to write games at the time. I was bogged down with having too many radical ideas without the skills to actually implement them. :PThat's actually a very good point.Of course, a lot of the choice would depend on the audience. For graduate-level math students, Haskell would be a real possibility.IMNSHO, for graduate-level math students I would *definitely* start with assembly language. It would serve to dispel the misconception that the machine is actually capable of representing arbitrary natural numbers or real numbers, or computing the exact value of transcendental functions, etc.. Mathematicians tend to think in terms of idealized entities -- infinite precision, infinite representation length, etc., all of which are impossible on an actual computer. In order to program effectively, the first order of business is to learn the limitations of the machine, and then learn how to translate idealized mathematical entities into the machine's limited representation in such a way that it would be able to compute the desired result.In fact, now that I think of it, I think the first lecture would be to convince them of how much computers suck -- can't represent natural numbers, can't store real numbers, can't compute transcendental functions, don't have infinite speed/time so only a small subset of mathematical functions are actually computable, etc..Very good way to start a course, really. Grabs the students' attention. It was "unexpected approach" course introductions like that that always made me think "Ok, now THIS may turn out to be a pretty good class..."Then the second lecture will explain what the computer *can* do. That would be when they'd start learning assembly language, and see for themselves what the machine is actually doing (and thereby firmly dispelling any remaining illusions they may have about mathematical entities vs. what is actually representable on the machine). Then maybe at the end of the course, after having built up a realistic notion of what the machine is capable (and incapable) of, explain how things may be put together to produce the illusion of mathematical computation, say with a functional language like Haskell. Later on, when they learn the theory of computation, I'd emphasize the fact that even though we computer people speak of Turing completeness all the time, actually no such computer exists that is *actually* Turing-complete, because all physical computers have finite storage, and therefore are no more than glorified finite-state machines. :) Of course, that in no way makes the theory of Turing machines useless -- it's a useful idealized abstraction -- but we shouldn't be under the illusion that we actually have access to the capabilities of an actual Turing machine with an infinite tape. Some things are computable in theory, but outright infeasible in practice. Like computing the Ackermann function of Graham's number, say. :-PYea, that'd be a really good class.
Nov 08 2013
On Monday, 4 November 2013 at 17:12:34 UTC, PauloPinto wrote:On Monday, 4 November 2013 at 16:49:10 UTC, simendsjo wrote:ohhh, i see yet another e-biceps thread. so the older architecture i know assembly for, the bigger my biceps is? also Paulo, something doesnt play right here. from what you were saying about things you have done and when, i've gathered, that you should be something about 80 years old by now. On Monday, 4 November 2013 at 17:11:08 UTC, Dicebot wrote:On Monday, 4 November 2013 at 16:22:52 UTC, Gary Willoughby wrote:Well I was looking at Z80 Assembly code at the age of 12.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?On Monday, 4 November 2013 at 16:22:52 UTC, Gary Willoughby wrote:not sure how much true it is in XXI century, but its funny how our profesor of computer architectures (who originates from Ukrain) assumes that we were taught physics in primary school. No, we were gathering pokemon cards, playing football and fighting each other in primary school for fuck sake On Tuesday, 5 November 2013 at 01:15:11 UTC, Walter Bright wrote:Something like C or D (i'd opt for D) should be any devs first language. Simply to educate them in the basics.In Soviet Russia you do assembly in primary school :)On 11/4/2013 2:34 PM, Era Scarecrow wrote:that is nothing. We were squashing atoms by hand in CERN with Paulo when we were 5. back to the topic. i wonder how big earnings in Soctiomantic are, given that you are told to program in rather exotic programming language (exotic as non-main stream enough).I did x86 Assembly language at 14.Bah. I programmed the Apollo lunar module computer for NASA when I was 8.
Nov 05 2013
Am Mon, 04 Nov 2013 18:12:33 +0100 schrieb "PauloPinto" <pjmlp progtools.org>:On Monday, 4 November 2013 at 16:49:10 UTC, simendsjo wrote:I looked at Gorillaz QBasic code when my father bought our first computer (286 PC without FPU, FPUs were out). So I started there, and look, I could still learn other imperative languages like D, Delphi or C++. Just not LISP or Haskell. -- MarcoOn Monday, 4 November 2013 at 16:22:52 UTC, Gary Willoughby wrote:Well I was looking at Z80 Assembly code at the age of 12.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?
Dec 05 2013
On 05/12/13 10:29, Marco Leise wrote:I looked at Gorillaz QBasic code when my father bought our first computer (286 PC without FPU, FPUs were out). So I started there, and look, I could still learn other imperative languages like D, Delphi or C++. Just not LISP or Haskell.One of the very widespread "educational" computer programs in the UK was LOGO, which came with the BBC Micro and even had a real, robotic turtle that you could plug into the computer and guide around instead of using the "turtle" cursor on the screen. Of course, we all used it as what it seemed to be, which was a fun program for drawing stuff. But actually LOGO is a dialect of Lisp, and in retrospect I wish I'd learned more about it ...
Dec 06 2013
On Monday, 4 November 2013 at 16:22:52 UTC, Gary Willoughby wrote:Something like C or D (i'd opt for D) should be any devs first language. Simply to educate them in the basics.In Soviet Russia you do assembly in primary school :)
Nov 04 2013
On Monday, 4 November 2013 at 17:11:08 UTC, Dicebot wrote:On Monday, 4 November 2013 at 16:22:52 UTC, Gary Willoughby wrote:Hehe, that's what I did. For http://en.wikipedia.org/wiki/KR580VM80A, an i8080 replica. Actually, I managed to write my first working assembly program by POKEing machine codes form BASIC. The machine didn't have a display, so I was entering the commands by touch. Unforgettable experience.Something like C or D (i'd opt for D) should be any devs first language. Simply to educate them in the basics.In Soviet Russia you do assembly in primary school :)
Dec 04 2013
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:We need an environment with lots of instant gratification. This is more important than language features. People even use C++ as first language due to libraries like Cinder. http://libcinder.org/"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. Remember, you wouldn't start with metaprogramming on day one. If you started with the basics using simple syntax and introduce the compiler incrementally it would be very educational. IMHO new programmers should start by learning how memory works, what binary is, how big built-in types are, etc. I am continually amazed when working with seasoned developers who have no idea why floats aren't precise, what a pointer is or what or bit-shifting does. It's staggering.
Nov 04 2013
On Monday, 4 November 2013 at 17:30:58 UTC, qznc wrote:On Monday, 4 November 2013 at 16:22:52 UTC, Gary Willoughby wrote:Both are equally important. Instant gratification instead of frustration is important. And with D you can get both. One can write simple programs (e.g. readText()) and if needs be dig deeper and see what's going on under the hood. I wouldn't sacrifice features for gratification. Good features attract experienced or highly specialized programmers, while easy high level features help newbies to get up to speed.On Monday, 4 November 2013 at 15:58:48 UTC, Chris wrote:We need an environment with lots of instant gratification. This is more important than language features. People even use C++ as first language due to libraries like Cinder. http://libcinder.org/"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. Remember, you wouldn't start with metaprogramming on day one. If you started with the basics using simple syntax and introduce the compiler incrementally it would be very educational. IMHO new programmers should start by learning how memory works, what binary is, how big built-in types are, etc. I am continually amazed when working with seasoned developers who have no idea why floats aren't precise, what a pointer is or what or bit-shifting does. It's staggering.
Nov 04 2013
On 11/4/2013 11:22 AM, Gary Willoughby wrote:I personally also think BASIC is a total waste of time for beginners. I does something to peoples minds that once they learn it, they never want to use anything else ever again. I totally agree with the following quote: "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration." -Edsger W. DijkstraBah. I started with various flavors of basic, then moved straight to C/C++ and a little bit of 6502 machine code, and then to a bunch of others including D. I've known other people who have successfully done much the same. Dijkstra's full of shit on that one.
Nov 04 2013
On Monday, 4 November 2013 at 14:01:32 UTC, Bienlein wrote:Will be fun at home, but jobwise it won't count. Really a pitty. -- BienleinYou never know. If you're interested in D, go for it, you have got nothing to lose. Maybe companies will soon look for programmers with skills in D.
Nov 04 2013
On Friday, 1 November 2013 at 17:38:01 UTC, Marenz wrote:Hey D Programmers, so, we at Sociomantic Labs are once again (or still) looking for D-Developers in Berlin. And lots of them. Currently still D1, but the process to change to D2 is initiated. You can read more about it here: https://www.sociomantic.com/jobs/d-software-developer/#.UnPl4Xh385Y You can contact me anytime if you have specific questions. You can find me in the IRC #d channel as Marenz, M4renz or Suprano or you just send me an email. cheers, --MathiasHi, I tried contacting you via email (your sociomantic adress) last weekend and I've been trying to talk to you on IRC a couple of time over the last week (on your Nicks M4renz and Marenz), but never got a reply to my questions, which is why I will ask here now: Do you also provide internships for BSc students of computer science ("Informatik") in Berlin? We are required to complete one ("Berufspraktikum") and I'd like to know if it would be possible to do so at Sociomantic Labs. Regards, Moritz
Nov 09 2013
On 11/1/13, Marenz <mathias.baumann sociomantic.com> wrote:we at Sociomantic Labs are once again (or still) looking for D-Developers in Berlin.Does that imply only people living near to Berlin should apply? If not, what does Sociomantic offer for people living abroad, e.g. perhaps some kind of rent financing?
Dec 04 2013
On Wednesday, 4 December 2013 at 20:24:37 UTC, Andrej Mitrovic wrote:On 11/1/13, Marenz <mathias.baumann sociomantic.com> wrote:I'll forward this question to HR ;) (I was relocating from another EU country and it was just matter of buying a plane ticket)we at Sociomantic Labs are once again (or still) looking for D-Developers in Berlin.Does that imply only people living near to Berlin should apply? If not, what does Sociomantic offer for people living abroad, e.g. perhaps some kind of rent financing?
Dec 04 2013
On Wednesday, 4 December 2013 at 20:24:37 UTC, Andrej Mitrovic wrote:On 11/1/13, Marenz <mathias.baumann sociomantic.com> wrote:Definitely not! Most of our programmers were not living in Berlin when they applied.we at Sociomantic Labs are once again (or still) looking for D-Developers in Berlin.Does that imply only people living near to Berlin should apply?If not, what does Sociomantic offer for people living abroad, e.g. perhaps some kind of rent financing?Our team is *very* international, with about thirty nationalities represented. We have a lot of experience with relocation. It's completely normal for us.
Dec 05 2013
On 12/5/13, Don <x nospam.com> wrote:We have a lot of experience with relocation. It's completely normal for us.That's great to hear. My main concern is having a place to stay. I'm not financially capable right now, unfortunately.
Dec 05 2013
On 12/5/13 3:32 AM, Andrej Mitrovic wrote:On 12/5/13, Don <x nospam.com> wrote:I was in the same situation back in the 1990s. I recall to this day the advice from a genius older programmer: "You can do good work. All you need now is a source of money." Back then I wasn't entirely clear what he meant because I didn't realize what money people are willing to pay for the right skills. The right approach is indeed to get a source of money. That works quite simply: (a) ace the interview; (b) tell what they need to do for them to secure your skills. You quite literally have something to sell that has a good value, and they need to assess that. Worrying about a place to live at your new location breaks sequence. I had only $300 in my pocket when I landed in New York in 1998, but also a paying job. AndreiWe have a lot of experience with relocation. It's completely normal for us.That's great to hear. My main concern is having a place to stay. I'm not financially capable right now, unfortunately.
Dec 05 2013
On Thursday, 5 December 2013 at 15:11:07 UTC, Andrei Alexandrescu wrote:On 12/5/13 3:32 AM, Andrej Mitrovic wrote:On 12/5/13, Don <x nospam.com> wrote:assess that. Worrying about a place to live at your new location breaks sequence. I had only $300 in my pocket when IYes. Good advice, I concede. Dura lex, sed lex.
Dec 05 2013
On Thursday, 5 December 2013 at 11:32:57 UTC, Andrej Mitrovic wrote:On 12/5/13, Don <x nospam.com> wrote:Just got the formal confirmation from HR - you can certainly expect some extra help during first months to get settled. If you apply via careers sociomantic.com , just mention your concerns in e-mail / during interview to get any specific details.We have a lot of experience with relocation. It's completely normal for us.That's great to hear. My main concern is having a place to stay. I'm not financially capable right now, unfortunately.
Dec 05 2013
On 12/5/13, Dicebot <public dicebot.lv> wrote:Just got the formal confirmation from HR - you can certainly expect some extra help during first months to get settled. If you apply via careers sociomantic.com , just mention your concerns in e-mail / during interview to get any specific details.Well I'll certainly think about writing a resume / application. But I don't think I have much chances. I don't have a CS degree, and my work experience is not programming-related. I don't have experience with distributed architectures either.
Dec 06 2013
On Friday, 6 December 2013 at 12:37:48 UTC, Andrej Mitrovic wrote:On 12/5/13, Dicebot <public dicebot.lv> wrote:Come on, don't be silly :P I don't have a CS degree too (I don't have any degree at all). That wasn't an issue at all. And https://github.com/AndrejMitrovic?tab=activity speaks on its own. There is no harm in applying.Just got the formal confirmation from HR - you can certainly expect some extra help during first months to get settled. If you apply via careers sociomantic.com , just mention your concerns in e-mail / during interview to get any specific details.Well I'll certainly think about writing a resume / application. But I don't think I have much chances. I don't have a CS degree, and my work experience is not programming-related. I don't have experience with distributed architectures either.
Dec 06 2013
On 12/6/13, Dicebot <public dicebot.lv> wrote:Come on, don't be silly :P I don't have a CS degree too (I don't have any degree at all). That wasn't an issue at all. And https://github.com/AndrejMitrovic?tab=activity speaks on its own. There is no harm in applying.Cool. Do you have any tips or must-haves for the resume? I've written a few but never in English or ones targeting a firm abroad.
Dec 06 2013
On Friday, 6 December 2013 at 12:52:24 UTC, Andrej Mitrovic wrote:On 12/6/13, Dicebot <public dicebot.lv> wrote:[13:56:54] Marenz: real programmers have crappy CVs [13:56:57] Marenz: BECAUSE WE CAN No real must-haves. Just be aware that CV's are checked here by programmers, not HR's, so keeping it short and focused on technical details is appreciated, as well as any links to open-source activity.Come on, don't be silly :P I don't have a CS degree too (I don't have any degree at all). That wasn't an issue at all. And https://github.com/AndrejMitrovic?tab=activity speaks on its own. There is no harm in applying.Cool. Do you have any tips or must-haves for the resume? I've written a few but never in English or ones targeting a firm abroad.
Dec 06 2013
On 2013-12-06 14:02, Dicebot wrote:[13:56:54] Marenz: real programmers have crappy CVs [13:56:57] Marenz: BECAUSE WE CAN No real must-haves. Just be aware that CV's are checked here by programmers, not HR's, so keeping it short and focused on technical details is appreciated, as well as any links to open-source activity.Really? That's an enormous advantage. Compared to HR people which will not even look at a CV unless you have a fancy degree. -- /Jacob Carlborg
Dec 06 2013
On Friday, 6 December 2013 at 13:11:37 UTC, Jacob Carlborg wrote:On 2013-12-06 14:02, Dicebot wrote:Better yet are organizations that use computer programs to screen the resumes. At one time I applied to tonnes of positions with the Canadian gov't and never got an interview even when my skills matched the job description perfectly. Then I realized that the trick was to copy and paste the job description into my resume, and just work my experience around it. All of the sudden I started getting interviews. Often they would have a form where you had to fill in your Education, so they would 100% for sure screen out someone without a degree. I think they would do better if managers just went back to hiring family members :o)[13:56:54] Marenz: real programmers have crappy CVs [13:56:57] Marenz: BECAUSE WE CAN No real must-haves. Just be aware that CV's are checked here by programmers, not HR's, so keeping it short and focused on technical details is appreciated, as well as any links to open-source activity.Really? That's an enormous advantage. Compared to HR people which will not even look at a CV unless you have a fancy degree.
Dec 06 2013
On 2013-12-06 15:47, Craig Dillabaugh wrote:Better yet are organizations that use computer programs to screen the resumes. At one time I applied to tonnes of positions with the Canadian gov't and never got an interview even when my skills matched the job description perfectly. Then I realized that the trick was to copy and paste the job description into my resume, and just work my experience around it. All of the sudden I started getting interviews.Haha, that sucks.Often they would have a form where you had to fill in your Education, so they would 100% for sure screen out someone without a degree. I think they would do better if managers just went back to hiring family members :o)Yeah. These they you can upload a Word document or PDF and they will screen that. -- /Jacob Carlborg
Dec 06 2013
On 12/6/13, Dicebot <public dicebot.lv> wrote:No real must-haves. Just be aware that CV's are checked here by programmers, not HR's, so keeping it short and focused on technical details is appreciated, as well as any links to open-source activity.Thanks. I've sent something. We'll see. :p
Dec 06 2013
On 12/6/13 7:26 AM, Andrej Mitrovic wrote:On 12/6/13, Dicebot <public dicebot.lv> wrote:Good luck! AndreiNo real must-haves. Just be aware that CV's are checked here by programmers, not HR's, so keeping it short and focused on technical details is appreciated, as well as any links to open-source activity.Thanks. I've sent something. We'll see. :p
Dec 06 2013
On 12/6/13, Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> wrote:On 12/6/13 7:26 AM, Andrej Mitrovic wrote:Looks like Sociomantic just grabbed themselves another D dev.On 12/6/13, Dicebot <public dicebot.lv> wrote:Good luck! AndreiNo real must-haves. Just be aware that CV's are checked here by programmers, not HR's, so keeping it short and focused on technical details is appreciated, as well as any links to open-source activity.Thanks. I've sent something. We'll see. :p
Feb 11 2014
On 2/11/14, 10:19 AM, Andrej Mitrovic wrote:On 12/6/13, Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> wrote:Awesome. Congratulations!! AndreiOn 12/6/13 7:26 AM, Andrej Mitrovic wrote:Looks like Sociomantic just grabbed themselves another D dev.On 12/6/13, Dicebot <public dicebot.lv> wrote:Good luck! AndreiNo real must-haves. Just be aware that CV's are checked here by programmers, not HR's, so keeping it short and focused on technical details is appreciated, as well as any links to open-source activity.Thanks. I've sent something. We'll see. :p
Feb 11 2014
On Tuesday, 11 February 2014 at 18:53:08 UTC, Andrei Alexandrescu wrote:Awesome. Congratulations!!Thanks! Can you believe I thought this was just going to be another one of those "let's throw something on the wall, and see if it sticks?" moments? I honestly thought my chances were effectively zero, not because of my own abilities, but because the competition out there is fierce.
Feb 11 2014
On 2/11/14, 10:57 AM, Andrej Mitrovic wrote:On Tuesday, 11 February 2014 at 18:53:08 UTC, Andrei Alexandrescu wrote:It was a shock to me, too, to figure how much people are willing to pay for my mediocrity. AndreiAwesome. Congratulations!!Thanks! Can you believe I thought this was just going to be another one of those "let's throw something on the wall, and see if it sticks?" moments? I honestly thought my chances were effectively zero, not because of my own abilities, but because the competition out there is fierce.
Feb 11 2014
On Tue, 11 Feb 2014 14:23:00 -0500, Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> wrote:On 2/11/14, 10:57 AM, Andrej Mitrovic wrote:#humblebragOn Tuesday, 11 February 2014 at 18:53:08 UTC, Andrei Alexandrescu wrote:It was a shock to me, too, to figure how much people are willing to pay for my mediocrity.Awesome. Congratulations!!Thanks! Can you believe I thought this was just going to be another one of those "let's throw something on the wall, and see if it sticks?" moments? I honestly thought my chances were effectively zero, not because of my own abilities, but because the competition out there is fierce.
Feb 11 2014
On 2/11/14, 11:24 AM, Steven Schveighoffer wrote:On Tue, 11 Feb 2014 14:23:00 -0500, Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> wrote:It would be if it weren't true. I forgot whether I mentioned this story herein: I once did some training for a company in Tokyo. They asked me for a quote, and I sent them one. They mistakenly read one extra zero at the end. AndreiOn 2/11/14, 10:57 AM, Andrej Mitrovic wrote:#humblebragOn Tuesday, 11 February 2014 at 18:53:08 UTC, Andrei Alexandrescu wrote:It was a shock to me, too, to figure how much people are willing to pay for my mediocrity.Awesome. Congratulations!!Thanks! Can you believe I thought this was just going to be another one of those "let's throw something on the wall, and see if it sticks?" moments? I honestly thought my chances were effectively zero, not because of my own abilities, but because the competition out there is fierce.
Feb 11 2014
On Tuesday, 11 February 2014 at 18:19:18 UTC, Andrej Mitrovic wrote:On 12/6/13, Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> wrote:Very nice! Congrats AndrejOn 12/6/13 7:26 AM, Andrej Mitrovic wrote:Looks like Sociomantic just grabbed themselves another D dev.On 12/6/13, Dicebot <public dicebot.lv> wrote:Good luck! AndreiNo real must-haves. Just be aware that CV's are checked here by programmers, not HR's, so keeping it short and focused on technical details is appreciated, as well as any links to open-source activity.Thanks. I've sent something. We'll see. :p
Feb 11 2014
On 11/02/14 19:19, Andrej Mitrovic wrote:Looks like Sociomantic just grabbed themselves another D dev.Congratulations! :-)
Feb 11 2014
On Friday, 6 December 2013 at 12:37:48 UTC, Andrej Mitrovic wrote:On 12/5/13, Dicebot <public dicebot.lv> wrote:I can't really speak for Sociomantic, but really if you are smart and a good coder that should count as much or more than a CS degree. You can't teach smart! If you have code you have written on github (or anywhere else out there) then make them aware of that. If you have contributed to DMD, Phobos it is likely more advanced than a lot of full-time jobs for new grads anyways. So while you may not have 'paid' work experience you can demonstrate that you have real world experience.Just got the formal confirmation from HR - you can certainly expect some extra help during first months to get settled. If you apply via careers sociomantic.com , just mention your concerns in e-mail / during interview to get any specific details.Well I'll certainly think about writing a resume / application. But I don't think I have much chances. I don't have a CS degree, and my work experience is not programming-related. I don't have experience with distributed architectures either.
Dec 06 2013
On 12/6/13 4:49 AM, Craig Dillabaugh wrote:On Friday, 6 December 2013 at 12:37:48 UTC, Andrej Mitrovic wrote:Degrees help for things like immigration, where some bureaucratic rules must be obeyed. There may be country laws that prohibit certain positions without the degree. Otherwise they should be mostly advisory for a good company. One of the best engineers at Facebook doesn't have a degree and was homeless at hire time. He failed two of three interviews, too. True story. AndreiOn 12/5/13, Dicebot <public dicebot.lv> wrote:I can't really speak for Sociomantic, but really if you are smart and a good coder that should count as much or more than a CS degree. You can't teach smart! If you have code you have written on github (or anywhere else out there) then make them aware of that. If you have contributed to DMD, Phobos it is likely more advanced than a lot of full-time jobs for new grads anyways. So while you may not have 'paid' work experience you can demonstrate that you have real world experience.Just got the formal confirmation from HR - you can certainly expect some extra help during first months to get settled. If you apply via careers sociomantic.com , just mention your concerns in e-mail / during interview to get any specific details.Well I'll certainly think about writing a resume / application. But I don't think I have much chances. I don't have a CS degree, and my work experience is not programming-related. I don't have experience with distributed architectures either.
Dec 06 2013
On Friday, 6 December 2013 at 21:06:43 UTC, Andrei Alexandrescu wrote:Degrees help for things like immigration, where some bureaucratic rules must be obeyed. There may be country laws that prohibit certain positions without the degree. Otherwise they should be mostly advisory for a good company. One of the best engineers at Facebook doesn't have a degree and was homeless at hire time. He failed two of three interviews, too. True story.I somewhat regret I do not have a solid formal background in a field involving higher math. Educating oneself on the hoof is a rather painful process, though it has some advantages.
Dec 06 2013
On 12/6/13 1:40 PM, Max Samukha wrote:On Friday, 6 December 2013 at 21:06:43 UTC, Andrei Alexandrescu wrote:Then do what I did. I started in the PhD program at 32. AndreiDegrees help for things like immigration, where some bureaucratic rules must be obeyed. There may be country laws that prohibit certain positions without the degree. Otherwise they should be mostly advisory for a good company. One of the best engineers at Facebook doesn't have a degree and was homeless at hire time. He failed two of three interviews, too. True story.I somewhat regret I do not have a solid formal background in a field involving higher math. Educating oneself on the hoof is a rather painful process, though it has some advantages.
Dec 06 2013
On Thursday, 5 December 2013 at 09:01:31 UTC, Don wrote:On Wednesday, 4 December 2013 at 20:24:37 UTC, Andrej Mitrovic wrote:On 11/1/13, Marenz <mathias.baumann sociomantic.com> wrote:Our team is *very* international, with about thirty nationalities represented. We have a lot of experience with relocation. It's completely normal for us.Sorry to hijack (a bit) this thread, but I would like to ask two or three things about working in Germany (Berlin and Frankfurt-am-Main are the places that interest me). * what salary could an engineer with 8 y experience (4 in electrical, 4 in software) ask for in Germany * what would be the rent for two-bedroom flat in the not-so-far-from-the-downtown area? Thanks.
Dec 05 2013
On 12/04/2013 09:24 PM, Andrej Mitrovic wrote:On 11/1/13, Marenz <mathias.baumann sociomantic.com> wrote:properly not, as long as our a citizen of the European Union working in Berlin/Germany is easy, just move there. any other country, I'm not sure.we at Sociomantic Labs are once again (or still) looking for D-Developers in Berlin.Does that imply only people living near to Berlin should apply? If not, what does Sociomantic offer for people living abroad, e.g. perhaps some kind of rent financing?
Dec 04 2013
On Friday, 1 November 2013 at 17:38:01 UTC, Marenz wrote:Hey D Programmers, so, we at Sociomantic Labs are once again (or still) looking for D-Developers in Berlin. And lots of them. Currently still D1, but the process to change to D2 is initiated.How can one still program in D1? ;)You can read more about it here: https://www.sociomantic.com/jobs/d-software-developer/#.UnPl4Xh385Y You can contact me anytime if you have specific questions. You can find me in the IRC #d channel as Marenz, M4renz or Suprano or you just send me an email. cheers, --Mathias
Dec 04 2013
On Wednesday, 4 December 2013 at 21:54:38 UTC, Max Samukha wrote:On Friday, 1 November 2013 at 17:38:01 UTC, Marenz wrote:Not very convenient but still better than C++ ;)Hey D Programmers, so, we at Sociomantic Labs are once again (or still) looking for D-Developers in Berlin. And lots of them. Currently still D1, but the process to change to D2 is initiated.How can one still program in D1? ;)
Dec 04 2013