Live data from Hacker News

If you had to start over, what technologies would you learn in 2014?

hanselman.com

81–90 of 182 posts

Re: If you had to start over, what technologies would you learn in 2014?

#81

"Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. I am a failed stand-up comic, a cornrower, and a book author." A Microsoft employee talking up C#, what a surprise.

To be fair, he does kick them down regularly on a lot of stuff. C# is one of the better bits of the Microsoft ecosystem.

Re: If you had to start over, what technologies would you learn in 2014?

#82
post #75

SAP. It's not particularly exotic but it runs the world.

You mean ABAP ;) Actually SAP is at a very interesting crossroad right now. You don't have to know ABAP anymore. If you can leverage SAP Gateway and check out OpenUI5 - http://sap.github.io/openui5/ you can make a name for yourself. There is heavy demand for this area right now and not enough supply.

EDIT- If anyone is interested in this area, let me know!

Re: If you had to start over, what technologies would you learn in 2014?

#83
post #2

It depends on your goals. If your goal is to do a startup, then the obvious choice is to really master an entire web stack. For instance linux / nginx / python / html / css / javascript. If you want to do research in computer graphics, then you better learn OpenGL and C++ or .NET. Want to work in embedded systems? C. Scott's recommendation of C# & Javascript is a solid and pragmatic choice, good for those looking for…

Can you do without only Python and its framework for programming side? As someone new to programming, I find it mind boggling how folks suggest learning multiple languages. Or does it become natural after you know one language very well.

It definitely is easier to pick up other languages once you know how to program well in one of them. You start to see the commonalities, the similarities in overall structure, and you can draw comparisons between the languages you already know and the ones you're learning. Learning the first language is the hardest, I'd say.

Re: If you had to start over, what technologies would you learn in 2014?

#84
post #60

I'd learn F# + C + Rust + TypeScript/ES6. Anything that lets me avoid learning C++ or JS.

Once you know C, you've already gone through most of the pain with regard to C++s warts, but you still have to treat it as a new language. I really don't know why people have such a problem getting to grips with pure-C++ functionality like templates, virtual functions, inheritance, RAII, exceptions, references, type system oddities, rvalues and lvalues and their references, operator overloads, extended temporary life…

You had me until "type system oddities" which was a spoiler :)

Re: If you had to start over, what technologies would you learn in 2014?

#85
post #2

It depends on your goals. If your goal is to do a startup, then the obvious choice is to really master an entire web stack. For instance linux / nginx / python / html / css / javascript. If you want to do research in computer graphics, then you better learn OpenGL and C++ or .NET. Want to work in embedded systems? C. Scott's recommendation of C# & Javascript is a solid and pragmatic choice, good for those looking for…

> If your goal is to do a startup...

I'd only amend this to say "web startup." While HN is very web-centric there are a lot of other startups out there that have nothing to do with the web.

Re: If you had to start over, what technologies would you learn in 2014?

#86
If you're looking to maximize your choice of companies to work at, one piece of advice could be to focus on front-end instead of back-end.

I'm equally proficient at front-end and back-end, but the last time I did a whole bunch of interviews, I advertised myself as a front-end programmer (since there aren't too many full-stack positions around).

Why? As a back-end developer, you're limited to picking companies that match a single one of the three broad back-end categories -- generally Java, Microsoft, or "open-source" (PHP/Ruby/Node/etc.) -- since any programmer is usually only going to be really proficient in just one of those. If we assume companies are split 3-way, you're instantly limiting yourself to 1/3 of possible companies.

But on the front-end, there's no balkanization. It's just JavaScript, JavaScript, JavaScript. It's not too hard to learn JavaScript and jQuery inside and out, and with some solid CSS experience, knowledge of good development patterns, and maybe a framework or two, you can interview practically anywhere.

Re: If you had to start over, what technologies would you learn in 2014?

#87

Earlier quoted context omitted.

On Facebook, I remember a time when the native app was horrible on Android. In many ways it still is - it requires too many permissions and the list is growing. Recently they're asking for access to my SMS messages and in Android 4.3 I had a bug with my Nexus 4 in regards to location services as the Wifi-network provider was draining my battery and so I had to disable it, so Facebook's app was still requiring it, act…

I suppose in your case you're choosing between two bad options. The iOS app is an example of how much better a native app can be from the web app - and the new paper app even more so. I remember the android one being terrible when I had android phones a couple years ago - but I thought that was because it was basically a wrapper around a web app.

You kind of missed the point.

What if history repeats itself? What if iOS will in the end fail in the marketplace, reducing its share to a single digit? What if Apple continues against all odds to develop and support it, like it did with the Mac OS? What if you'll still use it?

Wouldn't you be happy then that there's a web interface available?

And from a developer's perspective - you could say that you want to target iOS users first. That may work out well for you. However, for example, I never, ever tried Instagram because when Instagram was all the rage, it wasn't available for the platform(s) that I'm using. And later the momentum for me was gone. That's a lost opportunity.

In the end, it may work out well for the developer - however, considering that iOS's marketshare is minuscule compared to the people that have access to web browsers, I personally don't see how you can build the next Google or Twitter or Facebook by not targeting the web first.

For another example of companies that failed to do this - WhatsApp Messenger will probably die or get acquired, because Facebook is eating its launch, as Facebook works everywhere and when I send a message to my wife, she either reads it on her phone, or in the browser tab that she keeps open when on her laptop. FB's messaging works on my iPad too, whereas WhatsApp doesn't because WhatsApp is identifying users by their phone number.

Re: If you had to start over, what technologies would you learn in 2014?

#88
post #60

I'd learn F# + C + Rust + TypeScript/ES6. Anything that lets me avoid learning C++ or JS.

Once you know C, you've already gone through most of the pain with regard to C++s warts, but you still have to treat it as a new language. I really don't know why people have such a problem getting to grips with pure-C++ functionality like templates, virtual functions, inheritance, RAII, exceptions, references, type system oddities, rvalues and lvalues and their references, operator overloads, extended temporary life…

I don't mind the C++ that is "C with objects". What bothers me is the broken template metaprogramming, endlessly varying kinds of special pointers, massive libraries that does the same things slightly differently and so on.

Re: If you had to start over, what technologies would you learn in 2014?

#89

If you're looking to maximize your choice of companies to work at, one piece of advice could be to focus on front-end instead of back-end. I'm equally proficient at front-end and back-end, but the last time I did a whole bunch of interviews, I advertised myself as a front-end programmer (since there aren't too many full-stack positions around). Why? As a back-end developer, you're limited to picking companies that ma…

Your assessment of the emerging front-end skillset is spot on. For better or for worse, if js frameworks are here to stay for the next few years (and it seems they are), the programmers who got in early are going to clean up as they are now sitting on 1-3 years of experience.

Re: If you had to start over, what technologies would you learn in 2014?

#90
To start over again, I'd have had a much bigger focus on standards and open-source, standards-compliant software. Having been spoiled by Visual Studio, I now lack the patience necessary to setup a dev environment from scratch with Emacs or Vi or whatever.

And no, Eclipse is not an alternative, though maybe NetBeans is, which are two statements I really wouldn't have said 10 years ago. I don't really feel like it's a case of Visual Studio having gotten significantly better. NetBeans has gotten significantly better and Eclipse has gotten significantly worse. MonoDevelop and Xamarin Studio are waaaaay too buggy to be useful. I find myself gravitating to a text editor like Geany or really anything that combines syntax highlighting, tabbed documents, and a file explorer. It's amazing how infrequently those three things come together (I'm looking at you, Notepad++ and Notepad2), or just don't work very well (Hi there, LightTable and DrRacket).

While I like C#, the promise of quality cross-platform software with it is mostly a boondoggle. The hoops you have to jump through, and the state of the dev tools for Mono, just push me towards Java anytime I need a cross-platform desktop GUI app.

And that's sad. Because it's not like Java does a particularly good job of it, it just does a site-better job of it than most anything else. I don't have a good enough handle on the C toolchain to pick up and run with Qt or GTK and cross compile for every platform. And nobody pays enough attention to desktop in basically any other language.

Please, correct me if I'm wrong, because I'd really, really like to be wrong here. I suppose I could do [Pythong|Ruby|OCaml|Haskell|Racket]+[GTK|Qt], but it feels grating. It doesn't match. As far as I can tell, there is no GUI library that works well in functional languages--even a wrapper on top of an OO one. But again, correct me if I'm wrong. Please.

Other than that, I wish I had ditched SQL Server a long time ago. Postgres is just as easy to install and use now, and has been for several years. I wish I had the balls to replace my clients servers with Postgres and just not tell them about it. They probably wouldn't notice.

I wish I had never wasted time on Python.

I wish I had kept gaming to my Playstation and stuck it through with Linux back in 2000.

I wish I had not gone to college. Going to college meant I had to get a job that paid well to service my debt afterwards. And for where I lived, that meant I had to buy a car. Even still, being 22 years old and having only $35k in debt was far better off than most of my peers, and even better still than most of the kids graduating today, so I guess I'm not too badly off. But still, I think about the last 10 years and really wish I had been writing all of that software for myself rather than The Man.

What the hell was the point of writing all those projects in college for the command line? 4 years of wasted practice on an interface only other programmers care about. It is such a fundamentally different paradigm, and most of my peers didn't transition well. I didn't transition well, and I've been either the most successful person or at least in the top 3 of my graduating class.

I wish I had never stopped doing screwy shit in JavaScript. There was stuff I wrote in 1997 that people are pushing today as "the power of HTML 5!" If I stuck with it, instead of listening to my "betters" at work or in college, then I think I could have contributed a lot more.

So, less about what specifically I would have studied, and more about not listening to what others have to say about what I should have been doing.

Post reply on HN