Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Ask Slashdot: Learning Dart Development?

timothy posted more than 2 years ago | from the oh-dartlang-we-can't-go-on-like-this dept.

Programming 107

First time accepted submitter gmikeska07 writes "I have no computer science degree, but I took a Java class in college and greatly enjoyed it. I have some experience with Javascript and have done some perl programming as well. I would like to learn Google's forthcoming Dart language. My question is in three parts: a) Is there any chance that if I self-teach Dart, I can get a job in development without a CS degree, once companies begin using the language? b) Is it really worth installing Virtual Studio as per the dartlang docs, or should I wait for a dedicated IDE like the rumored 'Brightly'? Alternatively, are there any solid open development environments that are adding support? c) Do you know of any books that are out or on the way that I could buy? What programming series do you guys recommend? Hopefully I can learn in my spare time, and if I can't get a job in development I can at least have fun with it, and maybe make a few libraries for the Dart community!"

cancel ×

107 comments

Sorry! There are no comments related to the filter you selected.

Translation (1, Flamebait)

suso (153703) | more than 2 years ago | (#37906676)

Hi. I'm a young whipper snapper who would like to learn something fresh and new with almost no user base instead of using already existing solutions that do all that I'd ever need to do and have loads of documentation and already existing user base. And instead of acknowledging that I was foolish to try using a brand new language and expect great support, I'm going to complain to everyone I come into contact with that they don't support this new language and if they were worth anything they would support it because its by company X or uses this new paradigm Y.

Re:Translation (0)

Anonymous Coward | more than 2 years ago | (#37906728)

Get Off My Lawn!!!

Re:Translation (0)

Anonymous Coward | more than 2 years ago | (#37906798)

But it's Google! Clearly it will be the top language in no time.

Re:Translation (1)

SharkLaser (2495316) | more than 2 years ago | (#37906838)

And there's just no change this project will be abandoned anytime soon, just like any other Google projects never have been! Oh wait...

Re:Translation (1)

pburghdoom (1892490) | more than 2 years ago | (#37906848)

Just like their other language.... What was it's name again???

Re:Translation (1)

Samantha Wright (1324923) | more than 2 years ago | (#37906888)

Yes! Just like Go [golang.org] , which is clearly not just the thirty-second most popular [tiobe.com] language.

Re:Translation (0)

Anonymous Coward | more than 2 years ago | (#37907456)

How many C programmers do you know? Because that's the market for Go. It's not an appealing language for C++ or C# programmers.

Re:Translation (0)

Anonymous Coward | more than 2 years ago | (#37908072)

I don't know any crap code monkey banging bloated code away in toy languages, should I be worried? Go certainly seems to be in your same league though.

Grumpy grumpy grumpy! (1)

hellfire (86129) | more than 2 years ago | (#37906892)

You sir, deserve teenage feet all over your lawn.

Re:Grumpy grumpy grumpy! (2)

suso (153703) | more than 2 years ago | (#37907126)

Coincidentally, there were. Last night.

Re:Grumpy grumpy grumpy! (1)

Archangel Michael (180766) | more than 2 years ago | (#37909100)

Forgot to turn on the Sprinklers huh? Noob

Or, You Know, You Could NOT Be a Complete Dick (5, Insightful)

eldavojohn (898314) | more than 2 years ago | (#37906908)

Hi. I'm a young whipper snapper who would like to learn something fresh and new with almost no user base instead of using already existing solutions that do all that I'd ever need to do and have loads of documentation and already existing user base.

Alternative response: Welcome to the exciting ever changing world of software development with more tools at your disposal than you could ever hope to learn! It's great that you're interested in this brand new language. It's probably not the best to cut your teeth on if you're new to the game so be prepared for challenges in regards to lacking documentation.

And instead of acknowledging that I was foolish to try using a brand new language and expect great support, I'm going to complain to everyone I come into contact with that they don't support this new language and if they were worth anything they would support it because its by company X or uses this new paradigm Y.

You make the submitter sound like a whiny bitch ... yet all I detected in his questions were eagerness and optimism. Where did he complain? Where did demand support for this language from you? Why the hostility? You don't have to read his posts at dartlang.org you know. Christ at the end he was hoping to help build support for Dart.

Slashdot: rewards for taking an acerbic tongue to outsiders since before it was cool.

Re:Or, You Know, You Could NOT Be a Complete Dick (1)

yagu (721525) | more than 2 years ago | (#37907082)

no mod points.... psuedo-modding parent +1 - insightful

Re:Or, You Know, You Could NOT Be a Complete Dick (1)

Frenzied Apathy (2473340) | more than 2 years ago | (#37907262)

I don't have any mod points, either, so +1 Insightful from me, too!

Re:Or, You Know, You Could NOT Be a Complete Dick (1)

suso (153703) | more than 2 years ago | (#37907936)

You make the submitter sound like a whiny bitch ... yet all I detected in his questions were eagerness and optimism. Where did he complain? Where did demand support for this language from you? Why the hostility? You don't have to read his posts at dartlang.org you know. Christ at the end he was hoping to help build support for Dart.

I'm the whiny bitch. And I'm whiny because I've seen all this before. Many of us have. It happens over and over and over. Computers should be a means to an end, but instead we keep making them a means to a means to a means to a means (recursion anyone?). Progress is fine, but what ends up happening in the computer industry is that we never are satisfied with the solutions we already have. People keep feeling the need to reinvent the wheel and few people work together, use existing solutions or think of the long term. Standards and languages end up more like fashion trends instead of tools. I think we'd benefit a lot more if we just identified ten or so languages that people could learn for different tasks and then because there were only ten, more people would know them, have more code reuse and better support and we'd get more done because we wouldn't be thinking all the time how to make a better language or IDE or any of the tools that you need. But instead every company thinks that if they push their own language that it will be different this time. Like moths towards the flame.

Re:Or, You Know, You Could NOT Be a Complete Dick (1)

AlXtreme (223728) | more than 2 years ago | (#37908356)

Perhaps people want to reinvent the wheel because they think it simply can be done better?

This is evolution in progress. New things come up, some live, some die. Some old things come back with a different purpose and thrive. The field as a whole keeps getting better and more efficient, sometimes taking a step back but later pushing forward again.

If fish complained that there were too many means of propulsion and everyone had to stick with fins we'd never have evolved.

The only alternative to evolution is stagnation. But I'll get off your lawn now.

Re:Or, You Know, You Could NOT Be a Complete Dick (1)

dvice_null (981029) | more than 2 years ago | (#37908832)

You could improve the existing fish, instead of inventing new fish... why are we talking about fish?

Re:Or, You Know, You Could NOT Be a Complete Dick (1)

chooks (71012) | more than 2 years ago | (#37909780)

Agreed. This is slashdot. It should have been a car analogy. Acceptable alternatives would involve Natalie Portman, statuary, and/or hot grits.

And I Suppose You Get to Approve Software Canon? (1)

eldavojohn (898314) | more than 2 years ago | (#37908780)

I'm the whiny bitch. And I'm whiny because I've seen all this before.

That's fine, you're free to rip apart a new language and you can bitch all you want at me or someone who's been in this field for longer than a decade. But when a new guy shows up eager to learn and in so many words you tell him to GTFO for selecting a new language that you haven't personally canonized as worthy that's where I'm going to set my foot down. He could be looking to program Visual Basic and your response would still be worse than gently guiding him toward a more fruitful endeavor.

I'm not aware of many communities that thrive on ostracizing new members (well, maybe Scientology).

Many of us have. It happens over and over and over. Computers should be a means to an end, but instead we keep making them a means to a means to a means to a means (recursion anyone?). Progress is fine, but what ends up happening in the computer industry is that we never are satisfied with the solutions we already have. People keep feeling the need to reinvent the wheel and few people work together, use existing solutions or think of the long term.

I think you're missing the importance of competing technologies and solutions. If I'm one of the suso-approved software languages, what motivation do I have to improve on multithreading? I'm already approved by the standards board as being one of the ten golden languages. It's important for languages like C++ to be threatened by Java and have Java in turn be threatened by Ruby. Why? So they continually work towards supporting what the community wants and needs. Without this who gets to determine whether we sacrifice performance for ease of maintenance? Or that the language should behave more like a functional language than an object oriented language? This is much like a market with languages competing for developers. And that's good and results in a healthy toolbox for you and I. Don't rip apart Dart unless you have some legitimate technical beef with it. So far you haven't offered anything like that. Right now it is largely unknown what its strengths and weaknesses are. You attack it as, what? Some sort of ECMAScript clone or ripoff?

Standards and languages end up more like fashion trends instead of tools. I think we'd benefit a lot more if we just identified ten or so languages that people could learn for different tasks and then because there were only ten, more people would know them, have more code reuse and better support and we'd get more done because we wouldn't be thinking all the time how to make a better language or IDE or any of the tools that you need.

This is already done in universities. I learned Scheme, Perl, PHP, C, Matlab and Java in my undergrad days. I didn't learn Processing, Clojure, Python, R or Ruby until later. Universities basically tell students what the most common languages are as they try to prepare them for the job market. Much like literary canon [wikipedia.org] you're told to execute Moby Dick/Java instead of Snow Crash/Clojure. Why? Because some people decided that Moby Dick and Java are just plain better. And that's not even starting with the proprietary languages -- some that are more used today than most of what I've listed. Would C# be in your list of ten holy languages? Would Flash/Flex?

You're being a code dictator by saying what you think would improve the net efficiency of the software community. And while that might work in the short run or in a community with constrained resources, it doesn't work so well when there are millions of developers and a very long time in front of us. Why weren't new languages halted when we had Lisp, C, Fortran and Cobol? Surely at the time, those could have been argued to provide everything we need today, right?

I love my job. A new language is a new toy. Relax and tinker in your free time. Fall back on the standard powerful tools when you need them but never stop learning. Software development actually is an exciting and ever changing landscape, stop trying to make it old and dead and boring.

But instead every company thinks that if they push their own language that it will be different this time. Like moths towards the flame.

And the alternative is to stagnate and keep patching shitty old languages to do new tricks -- pick your poison.

Re:And I Suppose You Get to Approve Software Canon (0)

Anonymous Coward | more than 2 years ago | (#37910962)

You totally missed the point of his post. He never said he wasn't excited about development or to stop learning. He said: Focus on the application/system you are building and instead of wasting time on learning a new language that CANNOT DO ANYTHING BETTER than the ones you already know. That's a waste of time.

He's saying: stop focusing on tools and focus on what you're building UNLESS the tool in question gives you an added capability. I.e. instead of learning a new hammer (that can hammer the same things and as efficiently as the old hammer), focus on the house you're building instead.

He's saying: if you want to learn something new than learn something that gives you a new capability, i.e. that allows you to do something you couldn't already do before.

Re:And I Suppose You Get to Approve Software Canon (1)

marnues (906739) | more than 2 years ago | (#37921348)

insightful++ The newbies learn the new languages. Let them. I want to grow old and have my Y2K. I want to be pulled out of retirement so that I can flex my archaic Java EE 6 skills and fix basic problems for many times the standard hourly rate. Of course the COBOL guys will probably be making even more at that point...

Re:Or, You Know, You Could NOT Be a Complete Dick (2)

PwnzerDragoon (2014464) | more than 2 years ago | (#37910458)

If nobody ever reinvented the wheel they would still be made out of stone.

Re:Or, You Know, You Could NOT Be a Complete Dick (0)

Anonymous Coward | more than 2 years ago | (#37913726)

what ends up happening in the computer industry is that we never are satisfied with the solutions we already have

Yes, that's how every innovation since the dawn of time has come about. Including whatever pet programming language you favor. You only want to remember the failures because it makes you feel superior. Maybe there are 100 failures, but there's one raging success as well that moves the industry forward.

Just like every other generation, what you had was good enough and what "kids these days" are into is "nonsense". Some of us, when we turned forty (or fifty or sixty, but never mind that) didn't forget what it was like to be young. Maybe it's time for you to look seriously at that retirement village in Florida, grandpa. While I don't know how old you are physically (though I would put money it's younger than I) you are mentally ready for the pasture.

Re:Or, You Know, You Could NOT Be a Complete Dick (1)

Foofoobar (318279) | more than 2 years ago | (#37908376)

Thank you for an (rare) intelligent response and an even more rare modding up one. I for one am intrigued in DART as well because i always wanted a compilable replacement to Javascript so my code wasn't constantly needing to be downloaded and compiled on the fly or was cached for everyone to view and copy. My only bitch is that I effectively have to rebuild chrome in order to try and run DART and do anything with it.

Having played with it, it is very similar to Java's Groovy in alot of ways but the compilation of DART is so much of a pain that it will probably turn off alot of people until it gets built into Chrome. And the sooner the better.

Re:Or, You Know, You Could NOT Be a Complete Dick (1)

PCM2 (4486) | more than 2 years ago | (#37915886)

Have you tried GWT [google.com] ? Basically, you code in Java and it compiles it to JavaScript. There are other languages that cross-compile into JavaScript, too.

Re:Or, You Know, You Could NOT Be a Complete Dick (0)

Anonymous Coward | more than 2 years ago | (#37908722)

the op for this article is a troll, the post is composite and a rerun of sorts. he proposes to learn coding on a new labguage, and asks if it could be useful for acquiring money. there isnt going to be any meaningful answers and he knows it. might just as well ask why he isnt finding a well paying ruby job in alaska. only other possible explanation is that he runs a dart coding blog and is driving hits to it so someone at g would hire him and give him coke and hoes. either way discusing dart at the moment is a waste of time

Re:Or, You Know, You Could NOT Be a Complete Dick (1)

mick_S3 (871725) | more than 2 years ago | (#37909030)

Wait. They have coke and hoes at Google? WHY DIDN'T ANYONE TELL ME THIS!?!?!?

Re:Or, You Know, You Could NOT Be a Complete Dick (1)

Brewmastre (2055526) | more than 2 years ago | (#37908790)

Thank you eldavojohn for that reply! It's nice to know that /. is not read entirely by a bunch of bitter, middle-age men, pissed off that they have been in the same dead-end job for 30+ years, and think that there's no reason for them to put away their PDP-11's for some newfangled POS. Seriously suso, you may not be a 60yo greybeard with a chip on your shoulder, but you sure fucking sound like it. Let's pretend we're civilized, helpful, and compassionate human beings for once.

Re:Or, You Know, You Could NOT Be a Complete Dick (1)

Caffeine Molecule (784043) | more than 2 years ago | (#37910144)

Wow eldavojohn, you make it challenging to associate myself with technical people of any kind. Could you have possibly replied kindly instead of being a complete asshole? Have some patience for young people, and those who know less than you. Otherwise, you may never make it out of that cubicle plastered with Dilbert comics.

Re:Translation (2)

Eraesr (1629799) | more than 2 years ago | (#37907966)

If you don't have any real, considerable programming experience with existing languages, then start by picking up some well known, well supported language like Java or C#. Learn the paradigms, get familiar with design patterns [wikipedia.org] and learn how to maintain a clean codebase. You could do this with Dart as well, but as has been mentioned before, Dart is new, relatively poorly documented and there's little shared experience on forums or blogs and the like.

You see, the point is that there's no real point in wanting to learn one specific language. The language is just a toolbox. The hammer in this toolbox may be slightly different to the hammer in that toolbox. Maybe one toolbox has an automatic nail gun instead of a hammer, or the other toolbox may have a sharper saw, but the concept of building a wooden shed is language transcending. Learn to build the shed and the language will be the means of getting there, not the goal itself. If you know how to build a proper shed, then making the step from C# to Dart or from C++ to JavaScript may not be that much of an issue anymore.

Re:Translation (1)

tlhIngan (30335) | more than 2 years ago | (#37908782)

(posting to undo error in moderation... grr).

Exactly.

You can go to a tradeschool and do one of their "Computer programming in Java" courses and graduate into a job doing Java programming. Or you can do Computer Science or Computer Engineering at a college or university, who may have a "standard language" but is really just to facilitate learning. Along the way other languages will be taught and written in the course of a semester - so you only have a couple of weeks to learn it and become proficient enough to understand simple but non-trivial programs.

Once you understand the concepts of computer programming, it's all syntax - whether you program in assembly, C, C++, Java, Python, Perl, etc. It's much easier to pick up new languages when you realize they're all the same and have the same limitations (bubblesort will always be slow, even if you write it in hand-tuned cycle-counted assembly watching your caches).

And hell, having a lot of languages under your belt lets you pick the right one for the right situation, and even if it falls into disuse, it can be rapidly picked up again. Sometimes all it takes is a simpel cheat sheet.

About the hardest part of learning any language is the standard library.

Re:Translation (1)

cruachan (113813) | more than 2 years ago | (#37913182)

To stay young requires unceasing cultivation of the ability to unlearn old falsehoods.
Lazarus Long, aka Robert Heinlien

Possibly my favorite quote as I grow older. You on the other hand Sir are embracing the geriatric

Dart (5, Funny)

Anonymous Coward | more than 2 years ago | (#37906696)

>Is there any chance that if I self-teach Dart, I can get a job in development without a CS degree, once companies begin using the language?

Sure, if you have ten years proven commercial experience with it.

Re:Dart (1)

iceaxe (18903) | more than 2 years ago | (#37913070)

*guffaw*

Reminds me of a job posting I once saw which listed as a requirement having 5-7 years professional experience with a technology that had existed for two years at the time. Ah, the good old days...

To the OP: Yes, you can gradually squeeze your way in to the field using knowledge instead of a degree, but it will probably be faster to just get the degree. While you're getting the degree you can be doing work on the side with your favorite language, so you end up with both a degree AND experience. Both together are far better than either alone. (But I wouldn't bet the farm on Dart, frankly.)

Re:Dart (0)

Anonymous Coward | more than 2 years ago | (#37913336)

Yes that was the joke.

Language Isn't Even Done Yet (-1)

Anonymous Coward | more than 2 years ago | (#37906734)

Learning this shit is fucking pointless. You know they're still changing the language right? Learn yourself some Haskell or Clojure like a real programmer and shut the fuck up.

Re:Language Isn't Even Done Yet (0)

Anonymous Coward | more than 2 years ago | (#37906830)

Don't be an asshole. Doubly so when you don't understand the subject.

Programming languages are not real selling points. (2, Insightful)

Anonymous Coward | more than 2 years ago | (#37906738)

Learn to program first. The language is irrelevant (But as a previous comment states, try to go for things that are actually in use). Knowing a specific language won't do much for you. Selling yourself as someone who knows a specific language only limits you. You had better be prepared to use any language out there, know it or not.

Re:Programming languages are not real selling poin (0)

Anonymous Coward | more than 2 years ago | (#37906862)

This.

The CS courses I took for my degree were completely language irrelevant.

Re:Programming languages are not real selling poin (2)

Sentrion (964745) | more than 2 years ago | (#37908076)

It's hard to slip past the HR filter without listing programming languages on your resume. Once you get to your interview then tell them how awesome you are and you don't even need a language - you can program anything!

Re:Programming languages are not real selling poin (1)

Darinbob (1142669) | more than 2 years ago | (#37911010)

And once you do learn to program, there will be more than 3 Dart programmers in the world and maybe even a book you can buy!

Re:Programming languages are not real selling poin (0)

Anonymous Coward | more than 2 years ago | (#37911554)

Agree.Programming languages do not matter. At the end of the day what counts is how much it costs to train someone to get productive with the least cost for the employer. Lower cost == better language. That is why Java is used today instead of C++.

Options and Advice (2)

eldavojohn (898314) | more than 2 years ago | (#37906740)

a) Is there any chance that if I self-teach Dart, I can get a job in development without a CS degree, once companies begin using the language?

Assuming you have a technical degree/bachelor of science I don't see why not. The biggest problem I see is going to be that I've never encountered a job where I didn't also need to know stuff about the back end and databases. I've always developed on all fronts of a project and I'm not sure where you would go to just do Dart development and not also some webservice or controller or MVC style design. And that's where you'll get blindsided is you probably aren't familiar with MVC design or database queries. Who knows though? I've interviewed a Mechanical Engineer and brought them on to do requirements back when we did waterfall.

b) Is it really worth installing Virtual Studio as per the dartlang docs, or should I wait for a dedicated IDE like the rumored 'Brightly'? Alternatively, are there any solid open development environments that are adding support?

I'm guessing from this [google.com] that your best bet is this if you're a minimalist kind of person (like me) [dartwatch.com] or this if you're familiar with the behemoth Eclipse [dartwatch.com] . You'll probably find yourself repeating that process after filing bugs until there is a stable release though ...

c) Do you know of any books that are out or on the way that I could buy?

This language was announced in September. At some point (four or five months?) a "rough cuts" of a book will probably be available on Safari books.

What programming series do you guys recommend?

I'm partial to Pragmatic Programmer, O'Reilly and No Starch in that order. APress might be worth a mention but personally I steer clear of Packt and Wrox. I've done some reviews on this site and I think that my reviewing reflects this.

Hopefully I can learn in my spare time, and if I can't get a job in development I can at least have fun with it, and maybe make a few libraries for the Dart community!

Stay active on the dartlang.org Google group and shout out if you get stuck. Good luck and have fun!

I'm guessing you don't have any programming experience on your resume. If you really want that programming job, I'd set goals for myself to complete a project in dart on my own so that I have at least something to show a prospective employer that shows some capability and (more importantly) self-motivation.

Re:Options and Advice (1)

stewbee (1019450) | more than 2 years ago | (#37907680)

...I steer clear of Packt and Wrox.

While I don't have any Packt books, the books that I have received from Wrox have been pretty good. In fact my "go to" book for C++ was by Ivor Horton and was published by Wrox (I think it was published around 2000). He pretty much left no stone unturned, had some pretty good tips & tricks, covered plenty of gotchas, and did a good job of explaining it all. I also picked up a book on Access that was pretty good too. Maybe you have just had some bad books or maybe I just got lucky.

But along similar lines of the original poster, I am looking for a new job, but might be in a similar quandary. I am an EE (about 7 years out of school with an MS) with a background primarily in RF. However, I pretty much program every day at my current job. And the programming that I do is primarily numeric/algorithmic in nature. The tools I use are Matlab, and if that is too slow, then I use either my own Java or C++ libraries. Lately it has been mostly Java if I do this, since it has a mature and easy to use multi-threading API.

The jobs that I am looking for would be along the embedded SW development lines, since it is a good hybrid of SW and HW. However, I think that people are scared of my resume to take me on because of the RF and circuit design background. Since in you previous post you mentioned you hired (or at least was involved in the hiring process) a Mechanical Eng in what appears to be a SW development/requirements position, do you have any pointers for me, or others like me, that are trying to make a change in seemingly orthogonal fields?

Re:Options and Advice (1)

SQLGuru (980662) | more than 2 years ago | (#37908238)

While I'm not the person you were responding to (nor am I hiring anyone or an expert in resumes), but if you are submitting a resume that is scaring potential employers off, you're doing it wrong.

You should have a resume that tailors your experience to exactly what the hiring company is looking to hire. I'm not saying to lie or anything like that, but if they are looking for someone with programming experience, hilight the programming aspect of your career (languages, libraries, savings in time or money), etc. Don't omit, but downplay the hardware side (unless the job would benefit from that aspect). There was a post the other day that lead to this blog article: http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-programmer/ [kalzumeus.com] . There's some insight in there that could apply to you as well......mostly play up what you've done and not how you did it. Show the potential employer that you work as a team, are smart and capable, and that you've got the ability to learn whatever it is they need you to do. THAT'S how you get a job -- even if you aren't qualified for it.

Re:Options and Advice (1)

stewbee (1019450) | more than 2 years ago | (#37908482)

While I'm not the person you were responding to (nor am I hiring anyone or an expert in resumes), but if you are submitting a resume that is scaring potential employers off, you're doing it wrong.

I feel that I have done this. I have put the team player angle in there. I have put what experience I have had doing SW and some embedded SW in there too. I have had a few calls from HR, but I seem to get hung up between the HR and Technical Manager hand off [1]. The question that I am getting most recently is whether I have done any driver development, which I haven't. Or another is, have you had experience with this microcontroller? My thoughts are, who cares. Whatever assembly instruction set I learned is probably not what they are using, but I have programmed in assembly before which to me is what should matter. I think it just might be the location that I am looking for work is that the companies can be rather picky.

[1] My favorite rejection from an HR rep was for a manufacturer of heavy machinery (a competitor to John Deere). They were looking for an embedded SW developer. I pretty much fit everything on their 'requirements' portion and even a good number of the 'would like to haves'. The one required field that I was missing was 'experience with hydraulics'. The HR person could not forward my resume to any of the hiring managers because I didn't have that experience. I just shook my head. Of all the requirements to be lenient on, I would think that would be the one. It's fucking hydraulics! The ancient Greeks learned about this stuff. Give me a book and in a week I will be a hydraulics expert. (I am not afraid of the math either. My masters was in electromagnetics, which is fluid systems for EEs).

Re:Options and Advice (1)

poor_boi (548340) | more than 2 years ago | (#37909660)

Some of the most useful programming books I've owned were from Wrox, especially on C++. Their extra effort to address programming in practice can be very helpful to someone who needs to get stuff done. (If I needed a regurgitation of the spec, I'd just read the spec.)

I rarely avoid books based on their publisher. Instead I look for books that are reviewed favorably by many people. And I look for reviews that tend to indicate that the book is the style and level that I'm looking for. Of course there are other criteria like date of publish, etc. Sometimes I don't even realize the publisher of a book until after I'm done with the book. :)

Basically I think pre-filtering based on publisher isn't a very useful way to locate the best book for a given scenario. Hypothetically if I found a Wrox book and an O'Reilly book that were seemingly very equal, I'd choose O'Reilly. But such a situation rarely happens -- I almost always have some other substantive reason to choose one book over another.

Wait and see (1)

Teckla (630646) | more than 2 years ago | (#37906806)

You may want to "wait and see" if Dart takes off first. (I don't think it will.)

It seems like developers are becoming increasingly skeptical of adopting Google technologies, and for good reason. Those technologies often don't take off. Also, Google tends to hype some technologies, getting a lot of developers on board, and then abandon them (or support them so badly they may as well be abandoned).

There are a lot of great technologies out there you can learn instead, that have wider industry acceptance, and are not likely to be abandoned. Dart does not offer anything special, and Google does not have a trustworthy track record.

Re:Wait and see (1)

Xest (935314) | more than 2 years ago | (#37907886)

Agreed, if you want to get a job learn .NET.

If you want to learn Dart, then right now it'll be for fun and learning, so just get on with it.

Re:Wait and see (1)

hesaigo999ca (786966) | more than 2 years ago | (#37909584)

Yes...Google being the lesser offender of all when you consider those like Microsoft's Silverlight, eh?

Re:Wait and see (1)

dskzero (960168) | more than 2 years ago | (#37911678)

Wow it had taken awhile before someone felt the need of bashing Microsoft. Google has dropped many projects and hyped them like they were curing cancer and then letting them die off, much more than Microsoft. Currently happening with: Google Buzz.

Re:Wait and see (1)

hesaigo999ca (786966) | more than 2 years ago | (#37919076)

Ye, but you did not have to pay thousands of dollars to get certified to use Googgle buzz, now did you,

Re:Wait and see (1)

dskzero (960168) | more than 2 years ago | (#37919218)

Well yup, but no one forced you to use Silverlight. I think.

Re:Wait and see (1)

hesaigo999ca (786966) | more than 2 years ago | (#37921690)

mmmmmm....dont know about that one, when was the last time you tried to use flash inside of visual studio to create your web page...

Why not learn a real languange? (1)

AtomicDevice (926814) | more than 2 years ago | (#37906852)

Dart may be the new hot turd on the block, but no one uses it, and probably no one will for some time to come, languages take time to pick up speed and mature.

If you're a decent programmer applying to a job that isn't going to suck, they won't care about what languages you know. Part of being a good programmer is learning any new language by yourself, very quickly. If you want to lean a nice easy language that is actually useful, my personal pref. is python, but perl, js, ruby, etc are all good. If you want a more mainstream language, learn java, big companies like lockheed martin and oracle do almost all their application development in java nowadays.

Also, on the topic of teaching yourself, you'll never learn to be a good programmer unless you have some need to do it to solve some problem (it can be a made-up problem). The best thing to do would be to make up something you want to build, pick a language and attack it until you have it working. Make a text-based dungeon crawler, make a console calculator, make a thing that updates your twitter every time you poop. I would highly recommend taking some classes, not so much for the programming (although it'll help), but to learn about algorithm design and computer architecture, especially if you don't want to just build websites your whole life like a chump (no offense to website builders, I do some of it too, I just hope not to forever).

At the end of the day though, if your fortunes are tied to what languages you know, you are a bad programmer and you're going to be out of a job sooner or later. If my boss asked me to learn fortran, I'd be writing some fortran by the end of the week. Once you learn a couple an get to know more about what's going on under the hood, it becomes obvious that languages are just a nice frosting over the same cake. And cake is easy to eat.

Re:Why not learn a real languange? (1)

Ash Vince (602485) | more than 2 years ago | (#37907352)

I would highly recommend taking some classes, not so much for the programming (although it'll help), but to learn about algorithm design and computer architecture, especially if you don't want to just build websites your whole life like a chump (no offense to website builders, I do some of it too, I just hope not to forever).

I would like to strongly second this. As a software developer with almost a decade of experience without a CS degree I think I have a unique perspective. The things I am missing are things like the theory of how object orientated development works, I learnt this as I went but since these key principles needed to do my job it would have been much easier to start with them.

How each language implements the key principles always seems to differ slightly but there is an underlying core of theory and this is what I expect CS degrees to teach. The original poster seemed to be choosing to learn dart instead of studying for a CS degree and that will always hold you back whatever the language.

CS degrees are not perfect but they are very much worth doing. The really dull bits are probably the bits you are going to need too I'm afraid. The actual practical development chunks are just giving you practice at the theory you should be learning across the rest of the course.

If the original poster really wants to try and be a developer without a CS degree then the best hope is to find someone who can teach you. I did it by learning as much theory as possible at home then managed to land an apprenticeship working for free for several months so the company could teach me at no cost to them but unfortunately this was done under a UK government scheme that is no longer available.

Re:Why not learn a real languange? (0)

Anonymous Coward | more than 2 years ago | (#37908364)

As a software developer with almost a decade of experience without a CS degree I think I have a unique perspective. The things I am missing are things like the theory of how object orientated development works, I learnt this as I went but since these key principles needed to do my job it would have been much easier to start with them.

Not necessarily. And it's not as unique as you might think. :) I'm also in your situation (actually going on 15 years, 20 if you count the odd [payed!] programming job as a teenager) and over the years I've developed mental models that I haven't seen presented as such anywhere.

Would it have helped if I'd have received the current generally accepted models at an arbitrary point in the past? Maybe. But maybe without the experience or any context they'd have looked like gibberish anyway. Or they'd have set me on a cognitive path that led me to completely different places. Or they'd have been outdated after a while, or even plain wrong to begin with.

I'm much more pleased with having developed the models I need as I needed them, and in the context of actual experience. Not to mention the ability (of necessity) to challenge and adapt those models constantly -- which is probably the best thing I got out of this, ever, because it applies to everything I learn and do, not just programming.

Re:Why not learn a real languange? (1)

internettoughguy (1478741) | more than 2 years ago | (#37907618)

make a console calculator

import sys
print eval(sys.argv[1])

Re:Why not learn a real languange? (2)

ari_j (90255) | more than 2 years ago | (#37908278)

Seconded. Learn classic algorithms and data structures. Learn how to evaluate the efficiency of algorithms and data structures so you can develop your own with some hope that the end result will fit the problem at hand.

Languages are tools and are analogous to pencils in math. Don't waste your time learning how to operate a brand new design of pencil that is so complicated that its own designers haven't yet figured out how to use it well enough to write a user manual for it. Learn what you should be writing with the pencil. Yes, it would be nice if you didn't have to sharpen it as often or if the eraser lasted forever, but ultimately it's just a writing tool and the part you need to learn is the math. The same goes for programming languages. Every language exists for a reason, that reason usually being because one or two people thought that they could do one thing better than some specific existing language. You will have absolutely no benefit from the one thing that they did better if you haven't already run into the same issue that those two people had.

If you are going to learn specific languages, do not fall into hype or trends. Have a purpose for learning a language. At the very least, learn C and Lisp. Every other language falls somewhere between those two in terms of high-level vs. low-level semantics and will offer different syntactic sugar to cushion you from the relatively low-level syntax (Lisp having very little syntax and C having only a little more) and from the computer itself. You should probably also play with a handful of the following: Perl, Python, Ruby, C++, Java, C#, Objective-C, and assembler on at least two platforms--preferably at least one of them an embedded platform with small RAM like a TI-85 calculator.

But first, learn how to program, which is entirely orthogonal to learning a language to do it in.

Re:Why not learn a real languange? (1)

iceaxe (18903) | more than 2 years ago | (#37913278)

But first, learn how to program, which is entirely orthogonal to learning a language to do it in.

This! By golly, that hits the ol' nail right on its head.

When we interview candidates for programming jobs we use physical metaphors, pseudo-code, and/or whatever language the candidate is comfortable brainstorming in. Most of our team has programmed in eleventy-seven different languages over the years anyway, and picking up the ones we use in our products is a matter of a few days for someone who knows how to program.

Discourage (2, Insightful)

Anonymous Coward | more than 2 years ago | (#37906858)

As someone who has been a hiring manager...

If I have a choice between a person with a degree and one who is self taught, I would always choose the person with the degree. If I have the choice between no one and someone who is self taught - I will wait for another person to come along. I suspect it will be hard to get a real programming job if you are only self taught. There are a lot of elements to a computer science discipline beyond just knowing a language, and hiring managers look for those skills. Experience can also take the place of a degree, but it has to be years of experience beyond just hobby programming.

Also, if you are learning DART as a hobby program, go for it. If you are learning it as an entry into programming - go with something more mainline like Java. The jury will be out for some time regarding the success of this offshoot, and Google has certainly experimented then dropped new tech before.

Re:Discourage (1)

SimplyGeek (1969734) | more than 2 years ago | (#37907482)

I have to 2nd this.

My own start in the world of CS was by messing around with some random C programs doing relatively simple things. Over time that grew more complex and I started reading from programming books. But then I got into college and studied Computer Science. It taught me concepts I NEVER would've learned on my own.

People who are self taught have motivation. That's a big plus. The big downside is that they sometimes are click-monkeys who only know the tools they played with, but don't understand any fundamental concepts. This is very true with people I interview for database work. They might know the tool they played with well, but can't draw an ER diagram to save their life or understand normal form and when over-normalizing is a bad thing for example.

Re:Discourage (0)

Anonymous Coward | more than 2 years ago | (#37908668)

The big downside is that they sometimes are click-monkeys who only know the tools they played with, but don't understand any fundamental concepts.

Funny, that's the impression I get from most fresh young graduates.

Re:Discourage (1)

SimplyGeek (1969734) | more than 2 years ago | (#37910966)

That's certainly the case sometimes. But age rarely factors into it. It's more based on the competency of the individual.

Some fresh young grads will understand concepts but not have experience with the industry tools. That's not the worst case and I don't ding them too much during the interview in those cases.

What I won't accept is when someone can't understand basic concepts, despite showing a number of years using software tool X. Can't stand those guys. Those are the people that took a Saturday course at the local Holiday Inn titled "How to use Excel as a database" (yes, I get that spam, this is a real course).

Re:Discourage (1)

jellomizer (103300) | more than 2 years ago | (#37907666)

When you are self taught you often teach yourself to do it wrong, and make the wrong assumptions while you are learning.

Here are some self taught developers misconceptions that are common, that are cured by a few years of computer science.
1. Less lines of code the faster the program will run. This is false some algorithms that take more lines of code actually improve speed. While there may be more code the logic allows for less looping of data.

2. Language x is the ultimate langue, if I can code in this then I am truly a great programmer. I have seen some VB Developers who can Kick the butt of some C developers, they understand the OS Better and know when to take a shortcut and when to go and redo what seems easily available. And their programs operates faster then the C counterpart.

3. If I Jump to the last chapter in the book/manual and understand the programs then I am a master. The last chapter stuff are often the stuff that is more of the exception to the rules. The stuff in the beginning is usually your bread and butter things you need to know. You are not impressing anyone with the advanced low level system calls when you could have done it much easier.

4. I am an top programmer although there are areas that seem impossible, where I must need a third party library. I am not dissing third party libraries, but you should know when to use them and when not too. Most people with a BS Degree in computer science should have the skills to research and make those third party libraries, but they know that doing so will waste more them then they need, and other cases what some of the libraries are they are better off making it themselves then trying to figure out how to implement the library. For the average computer scientist there isn't too many areas that are not out of their ability, it just may not be in their focus.

Re:Discourage (0)

Anonymous Coward | more than 2 years ago | (#37908518)

People who make the mistake at (1) for any length of time are idiots. Being self-taught or not has no relevance.

Misconceptions (2) and (3) are cleared by experience. Again, it's irrelevant if you start with a degree or not.

I fail to understand point (4) because the shrooms must've kicked in by the time you wrote it.

Re:Discourage (1)

avandesande (143899) | more than 2 years ago | (#37913658)

I would attribute all four of these to lack of experience, not to a lack of a degree.

Re:Discourage (1)

jellomizer (103300) | more than 2 years ago | (#37914752)

No experience has shown me that people without degrees make those mistakes even after having a lot of experience. The degree program does what experice wont do... Tell students that they are wrong. Professional won't tell people they are wrong they may fire him or not promote him, but not give him a failing grade for doing it wrong.

Re:Discourage (1)

gestalt_n_pepper (991155) | more than 2 years ago | (#37908338)

As a self-taught individual who makes 6 figures programming and who's hired a few, I'd have to disagree. Self-taught developers I've hired know that in the real-world, development is not about programming as an art. It's about using software to solve problems and make money.

Because kids, software is either about money or masturbation. The guy experimenting with Ocaml is about the latter. The other guy trying to get the feature done for the customer demo on Monday morning is about the former. I hire that guy.

There are differences though. I focus on results more than elegant use of the latest programming techniques. I'm more concerned with readability, ease of maintenance and whether the code can be easily understood by the next programmer I have to hire. I'm totally unconcerned about whether someone I hire knows about, or uses virtual void functions, tuples, or even somewhat useful things like callbacks. I do need them to know about commonly used things like threads, arrays, arraylists and so on.

Re:Discourage (0)

Anonymous Coward | more than 2 years ago | (#37908554)

Of the self-taught guys I've known, 4/5 have been awesome. That one out of 5 though, I wouldn't trust with a pencil sharpener.

Re:Discourage (1)

clickclickdrone (964164) | more than 2 years ago | (#37909278)

I'd tend to agree. I'm self taught but have spent 25 years developing in a bank. I'm not aware of a single bug caused by me that went live (precious few even turn up in testing) or failed to hit any deadline. I write solid reliable code that is clear, readable, well commented and most importantly, easily changed by those that follow me. On the other hand, I've had to do a lot of debugging of 'real programmers' code which can be pretty cryptic. I have no interest in oddball languages unless my job requires it and frankly I have better things to do than learn a 'cool' new language for the 'lulz' I've been on some courses provided by my employers but in all cases they've been after I've already taught myself the language and got the code out the door. Luckily banks are fairly conservative so it's been mainly Unix/Windows and C/C++/VB6/VB.net, C#, Unix scripts, Oracle & SQl Server. I have used 20+ languages though including some wierd LISP dialect used by a UNIX word processer we had to automate. Worse still, no degree, just basic O'levels (UK things you do when you're 15/16) and lots of experience. I must be a terrible hire.

Re:Discourage (0)

Anonymous Coward | more than 2 years ago | (#37909000)

As someone who has been interviewing about a person per day for the past 2-3 months, I respectfully disagree. The best developers I've encountered have all been self-taught. Many of them subsequently went on to get degrees in the subject, but they all started by teaching themselves. I've yet to come across anyone who began their education in a classroom who was worth the paper their degree was printed on. I've interviewed people with masters degrees from prestigious universities (Georgia Tech and CMU so far this week) who couldn't solve basic procedural logic problems let alone grasp simple OO design challenges.

We've hired both self-taught and those with degrees, but the one unifying trait of everyone who's passed our interview process has been that they are curious about computers at an early age and began exploring the subject themselves. The ones that go to college and decide that CS would be a good major are, IMHO, all but worthless.

Re:Discourage (1)

Peter Trepan (572016) | more than 2 years ago | (#37910026)

I have a bachelor's degree in art. I worked first as a graphic designer, then a web designer, then a web developer with increasingly complex responsibilities. It took me about ten years to get from print design to proper web development, but it's possible.

I second a previous poster's recommendation that you (the OP) learn ASP.NET. In my area, there are whole recruitment companies that do nothing but place ASP.NET developers, and demand for them outpaces supply. Microsoft has created a very successful ecosystem for creating new developers, and you should definitely get on that train.

More reluctantly, I suggest you consider working for a "sweatshop" software consultancy at some point. The harder it is for a shop to attract experienced talent, the more likely it is that they'll gamble on inexperienced talent. Also, since their business model is based on hours billed, they're more likely to throw you into something that's outside your experience, trusting that if you go far wrong it can always be cleaned up by the handful of senior developers they have on hand, and they'll still get paid.

Re:Discourage (0)

Anonymous Coward | more than 2 years ago | (#37911000)

I have a degree (EE not CS ;) ) but before that I taught myself programming when I was about 7. So my "self taught" came first :).

Thing is most of the crap you need to know to write "non hobby programs" has nothing to do with computer science and "fancy algorithms". Yes I know in theory they are all algorithms, but in practice Knuth and Associates aren't going be writing about such stuff.

AFAIK most degree courses don't teach you "non-hobby" stuff like:
1) How to do reasonably sane logging for various scenarios- it may seem a simple thing, but not so on some platforms/environments, worse if you have multiple threads/processes AND need a certain custom log format for some stupid reason. And logging is important for "non hobby" stuff as you put it.
2) Avoiding/preventing stuff like sql/code injection, buffer-overruns. Escaping/quoting stuff correctly and just not getting pwned in the million possible ways.
3) How to deal with UTF8, multilingual support etc while ensuring 2).
4) How do you package stuff so it can be deployed/installed easily?
5) Doing floating point stuff correctly. Look at how many programmers use floating point for the wrong things.
6) Talking to DBs (while dealing with all of the above esp 2), 3) ). Sometimes it's easy, sometimes it's harder than it should be to Do The Right Thing ;).
7) Dealing with time - time zones, dates, leap seconds, and maybe the clock going backwards for whatever reason...
8) Getting version/build numbers to increment at the right time... Marketing version numbers and internal ones etc.
*) And other annoying real world stuff that's sometimes incompletely or poorly or even incorrectly documented.

Yes these and more are beyond the scope of a degree, and can be different for each environment but for that very reason I don't see degree holders having such a great advantage (if any) over self-taught for "software development".

Whether you have a degree or not you'll still have to be self-taught because there'll be nobody giving lectures to you on most of the crap you need to write a decent "non-hobby" program.

Re:Discourage (1)

maraist (68387) | more than 2 years ago | (#37914520)

I've also worn the hat of hiring highly skilled technical programmers. What I've found is that most of what 'good' programmers exhibit is self-motivated-determination to read on their own. People that read, not because they HAVE to get something done for work (and thus the bare minimum will suffice), but because they like to read technical manuals as if they were novels. They'll read it through, not because they're looking for a short-cut, or to get some nagging bug fixed, but because they want to dive-deep into some paradigm or language.

Well-read programmers sometimes comes from CIS degrees, usually NOT. Ironically most people I see coming out of universities are CRAP programmers. They go in thinking they're going to do this thing, but get overwhelmed quickly, become bare-minimalists in terms of understanding and (typically implementation), and resort to side-effect, poorly-documented, maximal-surprise code. Why? Because just like the all-nighter they pulled getting their project to work; it was passable.

English majors make great programmers, in my experience.. Presumably because they are people that can absorb a technical manual in a single night.

I've also found some electrical engineers too be good programmers (I happen to be among them). Mostly because they tend to attach problems from the bits up. They often have a very deep understanding of what a function is doing. It also means they have, by default, a richer math background - doing lots of math/equation proofs is useful when writing logic-functions.

So if you're past the college years and are trying to prove yourself. Do a lot of deep-dives of open-source projects.. Convince yourself that they work (e.g. critically analyze the code to understand the decisions made, as if you were the one making those decisions). Make sure you become familiar with a tool-chain (gpp -> gcc -> asm -> objcopy -> ln -> kernel-loader). Convince yourself that lisp is a great language (this will require every ounce of logical-strength that you can muster). Learn small-talk (the parent of most paradigms these days). Learn C++ (so you can see what everybody is trying to implement without actually implementing). Develop a VERY good understanding of C - (learning how everything is a symbol) - try and correlate obdump -x and 'nm' against C functions.. Learn how to make a shared library (either windows DLL or linux .so or Mac OSX dynlib). Delve into the format/layout of ELF. Learn the significance of the various segment-types (this generally applys to all OSs). Learn an ASM if you can.. Start by running
gcc -S helloworld.c
and
gcc -S -m64 helloworld.c
for the 64bit equivalents.. Make sure to put lots of function-calls, floating-point and OS calls.. Learn what the assembly is doing.. wikipedia ANYTHING you don't understand.

Learn a good editor.. Visual Studio, Eclipse/IntelliJ, X-code, kdevelop, codeblocks. Learn at least 64 short-cuts in two of them. Get familiar with thin editors (notepad++, vim, kate).

LEARN TCP. Google it.. Use perl, python, ruby or Java to write your own client / server in both TCP and UDP if you can. If you're up to it, try writting it in C or C++ + boost or Visual Studio.

LEARN the HTTP protocol (almost impossible to be useful these days without it). Use 'nc' 'curl' 'wget' 'telnet' interchangably to interact with an HTTP service.

Learn XML.. At least the DTD, but to really do well, learn XSDs.. Use javascript's DOM to muck with it to start.. But you'll probably need to learn a C/C++/Java/.NET's perferred APIs. It's hard to NOT have to parse XML in most paid-applications.

Learn UML. Read a good book on design patterns; eventually you'll think in UML for classes and DB entities; but you'll also need to think in terms of it for collaboration diagrams, sequence-diagrams etc.. (lots of free [online] tools.. creately, lucid-charts, argouml). Learn to white-board as if you were Italian. This goes over GREAT in interviews.

Learn SQL.. It's not going anywhere, I promise. Use postgres + pgadmin or mysql + phpmyadmin. Learn what RDBMS is.. What ACID is.. What the CAP theorem is. Try the free Oracle if you have an afternoon to totally lose; but it's probably useful in job-hunting.

Read up on NoSQL solutions.

When creating your resume (after 2 hours of doing all this), make sure to be HONEST in your skill levels in all of the above.. Don't JUST list that you know mysql,postgres,oracle,MS SQL. List mysql [expert], postgres [seasoned], oracle [exposed to], MS SQL [novice]. This avoids wasting people's time, and prevents dissapointments in the interview that would otherwise have been managed expectations leading up to a (yeah, he'll need some ramp-up-time, but I think we have work for him).

Notepad ++ (0)

Anonymous Coward | more than 2 years ago | (#37906920)

Depending upon how big your programs are, (especially if you're learning), a complex integrated IDE like Visual Studio may be overkill.
You can always use notepad++, its free, available online, and pretty lightweight.

Learn something useful. Not Dart. (1)

gestalt_n_pepper (991155) | more than 2 years ago | (#37907042)

Google is famous for its short attention span when it comes to new projects, after which Dart will be an orphan. Microsoft is famous for screwing its developer base and abandoning languages and the customers who depend on them (VB6, J#, and soon, .net) whenever some 20-something new manager gets a brainwave. I'd stick with cross platform c-form languages like java, c, c++, javascript, or even C#. The money's in languages like these, not the also-ran languages like Ruby, Python, Ocaml, etc.

Re:Learn something useful. Not Dart. (0)

Anonymous Coward | more than 2 years ago | (#37907848)

That was Sun Microsystems and the US court system that killed VB6 and J#, not Microsoft. .NET isn't a language, it's a library and it isn't being abandoned at all- WinRT is a modified version of the .NET Framework.

And I'd hardly call Ruby and Python "also-rans". They aren't used a lot in "Enterprise" software but they're still very popular, especially for web backends.

Re:Learn something useful. Not Dart. (1)

PCM2 (4486) | more than 2 years ago | (#37915996)

And I'd hardly call Ruby and Python "also-rans". They aren't used a lot in "Enterprise" software but they're still very popular, especially for web backends.

Who knows what "enterprise" is supposed to mean, but you may actually be surprised by how often both Ruby and Python are used for professional projects. For example, I don't think much public-facing code at Google is written in Python, but a ton of their internal-use tools are.

Re:Learn something useful. Not Dart. (1)

XxtraLarGe (551297) | more than 2 years ago | (#37908112)

I'd stick with cross platform c-form languages like java, c, c++, javascript, or even C#.

+1. I'd also throw in PHP & MySQL.

It doesn't matter (1)

Simon (S2) (600188) | more than 2 years ago | (#37907046)

"You are not defined by your chosen software stack: I recently asked via Twitter what young engineers wanted to know about careers. Many asked how to know what programming language or stack to study. It doesn’t matter. There you go [slashdot.org] ."

Don't listen to the haters (1)

boristdog (133725) | more than 2 years ago | (#37907422)

Learn any language and learn many languages. Learn SQL, NoSQL and general database design. You will get a good job. It may take a few years, but if you can do these things reasonably well (learn and use languages, use databases), you will always be able to get a job.

My one semester of C++ and networking classes at a junior college has gotten me further than my hoity-toity university Marketing Degree. But it's the fancy university degree that gets me past the HR trash can. So having a degree of any kind will help.

Re:Don't listen to the haters (0)

Anonymous Coward | more than 2 years ago | (#37908792)

I Agree. Also, become a frequent contributor and/or maintainer of an existing open source project (or create one, but it better draw at least a small crowd). FOSS contributions are a sure-fire sign you have at least SOME ability to work and play well with others. Bonus if you haven't responded to bug reports with dick-headed-ness.

Dart (0)

Anonymous Coward | more than 2 years ago | (#37907736)

Is there any chance that if I self-teach Dart, I can get a job in development without a CS degree, once companies begin using the language?

And therein lies the rub

Don't treat it as a special case (0)

Anonymous Coward | more than 2 years ago | (#37907738)

Is there any chance that if I self-teach Dart, I can get a job in development without a CS degree, once companies begin using the language?

Learning Dart (or any other particular language) will make no difference. By the time you're hireable you should be able to learn new languages whenever you need to, over the course of a week or two. And while some companies actually care about what languages their programmers know, none of those companies are serious; you don't want to work there.

As for for IDEs vs not IDEs, just use whatever you're used to using all the time. If Dart doesn't work well with whatever your normal tools are, then it's not ready. That isn't to say you can't ever change how you develop, but you won't make that change at the exact same time you're learning a new language.

Stick with Java (1)

pak9rabid (1011935) | more than 2 years ago | (#37907832)

if your goal is to get into software development and not just wanting to play with a shiny new language, you ought to just stick with Java until you've gained enough professional software experience to be taken seriously in the industry. Here's the list of reasons why I think this would be a better route:
  • 1.) You've already gotten your hands wet with Java
  • 2.) It's a good language to learn OOP concepts (which are pretty much used in all languages that are popular with employers)
  • 3.) There's a metric shit ton of existing documentation for Java freely available
  • 4.) There's a lot of really good free IDE's and tools available (See: Eclipse)
  • 5.) There's tons of existing junior-level jobs doing Java development

Once you've gotten a few years of software development experience under your belt, then go looking for an obscure job coding in Dart...by then it'll be a lot easier to pick up due to the maturing of tools and documentation.

Re:Stick with Java (1)

PCM2 (4486) | more than 2 years ago | (#37916014)

I'd add that my impression of Java has always been that it's a fairly pedantic and unforgiving language to code in ... which, for a noob, is probably a good thing.

If you want a job doing development... (1)

MikeRT (947531) | more than 2 years ago | (#37907884)

Is there any chance that if I self-teach Dart, I can get a job in development without a CS degree, once companies begin using the language

Given Google's reputation for doing R&D and then trashing their research projects when they don't pan out, you'd be foolish to stake your future as a new developer on Dart. The tools are not at a point where they are usable on a real, paying job. You don't even seem to have a background where you are able to work on Dart or its future ecosystem yet. Therefore, your best and only realistic route, is to learn something else in parallel.

Pick C# or Java. Learn one of pretty well. Learn Dart and JavaScript as well. Once you learn JavaScript, you might be able to stake a claim as someone who can help debug the browser side of Dart.

Dear Abby (0)

Anonymous Coward | more than 2 years ago | (#37907946)

My boyfriend is a complete asshole...

Java (0)

Anonymous Coward | more than 2 years ago | (#37908192)

Just learn Java that has much more documentation. Once you master Java then Dart will be a piece of cake. You can learn Scala instead of Java if you want to

You'll need to learn an entire ecosystem (0)

Anonymous Coward | more than 2 years ago | (#37908578)

Is there any chance that if I self-teach Dart, I can get a job in development without a CS degree, once companies begin using the language?

If Dart does become popular, you will almost certainly need to learn it in context with a number of other languages and technologies. You will be mostly useless unless you know those other things.

For example, Google is pushing Dart as a replacement for JavaScript. In that scenario, a Dart programmer would not be useful to a company unless they also knew some combination of: JavaScript, HTML, CSS, Ajax, and server-side development.

Wait for "Go" (1)

Baldrson (78598) | more than 2 years ago | (#37908644)

When Google's new "Go" programming language is in widespread use, think about learning Google's new "Dart" programming language.

When will they learn?

Dart is going to change, drastically. (0)

Anonymous Coward | more than 2 years ago | (#37908664)

If there's any one solid recommendation I could ever make, ever: don't be the first to jump on a new paradigm. Until it's on version 3, it's not worth your time.

According to HR (1)

istartedi (132515) | more than 2 years ago | (#37909002)

According to HR, you should already have 3-4 years of experience with it NOW. Good luck.

new languages (1)

jbolden (176878) | more than 2 years ago | (#37909186)

The purpose of Dart is fundamentally to create a language which is easier to optimize from the browser perspective against. It is taking stuff out of Javascript. So the early community are going to be people who know Javascript, but are more focused on the sorts of low level C programmers that write high performance interpreters. They are going to love having a junior level guy to test their ideas with if you hang out with them, and identify yourself as such. You will likely learn a lot from these experienced and knowledgeable developers.

What you won't learn is web development since they are into browser construction. Later on as Dart gets more mainstream it will move towards web developers. You don't know enough though to get a job doing that sort of low level stuff. That being said though, your paying job will probably come from the Javascript world. But the Dart people will help you there.

And of course being an early user of Dart might be a gateway in 5 years or so.

Don't do it! (0)

Anonymous Coward | more than 2 years ago | (#37909952)

If you want to be cutting edge and do something cool and blog-worthy, learn Dart.

If you want to learn a useful skill and gain profitable employment, learn C# or Java. With slightly less chances of getting a job: python, perl, ruby, websphere, vb.net, c++

If you want to know what languages companies in your area are likely to hire for, take a look at the classifieds for what they're currently hiring for. That's not going to change in 6 months. It's going to change after guys like you learn whatever language they're currently using, get hired by the company, work their way up the food chain, and then convince some higher up muckity-muck that Dart is awesome or whatever. If you're thinking this plan would take years to execute on, you're right, which is why no major company will be using Dart on day one unless they're in an existing partnership with Google...

Speaking of 6 months, that's about the longest amount of time you should go without refreshing your skill set. So, if dart takes off like gangbusters, learn it in six months. Chance are, in six months, you'll be learning the latest database API your new company has decided is the one standard to end all other database APIs (at least for the next 6-12 months, or until the guy that made that decision gets canned)

Others have hit the nail on the head; don't worry too much about a specific language. Learn one now, try to get a job with it, and start learning a second one while you're interviewing! By the time you get to three or four you'll start to understand that all this programming language stuff is just a thinner or thicker veneer on top of machine code...

It's gotten to the point where I no longer even bother trying to learn a new language. I spend an hour or so trolling the documentation, try to understand where commas and semicolons and whatnot go, then I roll up my sleeves and start writing code! Sure, you'll never be writing 100% error-free guru-worthy magical the-tao-of-programming-is-my-bitch code using that strategy; but you WILL meet your bosses objectives days or weeks before the competition is even ready to work on it...

Re:Don't do it! (1)

PCM2 (4486) | more than 2 years ago | (#37916038)

Whatever happened to learning plain ol' C?

Learn C, and you should have no trouble at all picking up C++, C#, Objective-C, or even Java. But like everybody else says, immerse yourself in the concepts first -- and personally I don't think "object orientation" is a really fundamental concept that developers need to learn up front, though that might just be my bias from being an Old Guy.

People are missing the point of Dart (0)

Anonymous Coward | more than 2 years ago | (#37913392)

I think that the people who are saying Dart will fail are missing the point of the language. Dart is intended to replace Javascript eventually, through native Dart interpreters in the browsers. Until then, you can still code in Dart on both the server and the browser side, and it will compile the browser side down to Javascript. That alone is a big improvement-- being able to code the client and the server in the same language. Dart will also hide from you the incompatibilities between various versions of Javascript.

The first browser that will have native Dart will be Chrome, and Google probably hopes to get a larger share of the browser market during the period of time that Dart apps run faster in Chrome than in other browsers.

I think Dart is a great idea, and, so far, well executed. It would be a joy for me to never have to deal with Javascript again.

Also, if this student is _excited_ about Dart, that is a good choice for a language for him to learn, including learning all the paradigms that he needs to.

ho come on this is obviously PR from google (0)

Anonymous Coward | more than 2 years ago | (#37917928)

the haters shout loud, but critic easy.
At the risk of being on the wrong side of Hanlon's razor (apparently it's double edged, but I didn't know) I have to say these kind of questions get more and more frequent, always get the same good geek / bad geek crowd splitting, and everybody loves it.
Soon enough it'll get played. Am I the only one suspicious about this one ?

Sorry Timothy, I don't want to call you a troll (and you got your answer anyway) but you really seem to be reading from a script.

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?