Live data from Hacker News

Ask HN: How did you get started with the programming languages you use?

news.ycombinator.com

41–50 of 52 posts

Re: Ask HN: How did you get started with the programming languages you use?

#41
I started out doing HTML/CSS and very little PHP (enough to slightly customise wordpress themes) back in high school. In grade 12 I got on to a national competition sort of thing that taught you python as you went and ended placing really well. I really enjoyed the challenges, so I decided to try and teach myself a bit more, but schoolwork got in the way, so I shelved that idea for a year or so.

I later decided after doing a fair amount of front end design work for friends and family that I'd try and learn back end development, so I tried python again, using the flask microframework. I did a few small projects with that, then I found sinatra on ruby and ended up really enjoying ruby more than python. I ended up working pretty much entirely in ruby for any back end dev stuff (although it wasn't very much), and slowly improved my javascript skills.

During Uni, I have also learned enough C# to make my way around. In my second year, I got a job doing front and back end dev, and made my first big project using sinatra and I loved it.

Later on we needed to write some software that interfaced with a label printer, and the best library we could find was for java, which none of us knew (nor did we want to learn). I had been reading about clojure and liked the look of it (and heard that it had great java interop) and I made my first (very dodgy) clojure app to interface with the printer.

I got hooked on functional programming then, and in the past year and a half, I've learned up on a few different languages. I have vastly improved my Javascript skills after using Backbone.js and then Angular.js. I also improved my Clojure skills, by re-writing my first work sinatra app using compojure, as well as a few side projects. I also took an interest in Erlang and Elixir after hearing about both on HN, and I learned the basics by reading 'Learn you an Erlang', and trying to make a few small project in both. I'd love to use Elixir some more, but I don't have a good project idea that suits it's use-case. Just recently I also learned C in a uni subject.

I'm always looking to expand my programming knowledge, I just have trouble coming up with ideas of what to program!

Re: Ask HN: How did you get started with the programming languages you use?

#42
I'm still a noob, but I wanted to build something for work. As a Cardiac Nurse with no techy background I found HTML, CSS, JS, and jQuery were easy to pick up (especially with the help of Code Academy and other online resources). My final product 6 minute walk test app is here: http://sixmwt.com. It's for clinicians like myself to use in a Cardio-Pulmonary setting.

Re: Ask HN: How did you get started with the programming languages you use?

#43
I had been interested in a couple of obscure languages: I worked some Euler problems in OCaml (which I liked for type inference and its pragmatism relative to some more purely functional languages), and I was fascinated by Lua because of how it got a lot done with a relatively straightforward design and small implementation. Neither stuck, because I didn't have or couldn't find the tools/libs to do anything with them that I couldn't more easily do with a language I already knew.

I started playing with Go this year 'cause there's really great introductory material/tools out there (seriously: boosters of any relatively obscure programming language ought to be outright cloning {tour,play}.golang.org, the readable spec and other introductory docs, etc.) and I had an idea for a fun sideproject that involved some bit-slinging that would've been hard to do efficiently in portable Python. (Much earlier I'd started another such proj in C++, but honestly the going was slow enough, and the frustration dealing with unsafe threading and memory access was great enough, that it eventually didn't really seem worth it.)

How I started on Perl may make a better story: I didn't know a dang thing about it, as I recall, when during college I became a summer intern for a nonprofit with a surprisingly-advanced-for-the-time-and-context mod_perl site. (I had been hacking C/C++ for school and fun, and had played with QBasic and MS Visual Basic as a kid.) I mostly picked it up by the seat of my pants, initially writing low-stakes backend things and then filling their actual infrastructure with horrible regexps (I hadn't yet grasped that there are many tricks you can do but shouldn't, maybe). I still do work for that client and Perl now seems a bit crazymaking, but I was impressed at the time with how straightforward it made a lot of the basic tasks of running dynamic Web sites. Fun times.

(Nowadays Python and JavaScript are the languages providing most of the daily bread, as they probably are for many folks here.)

Re: Ask HN: How did you get started with the programming languages you use?

#44
I got a Playstation Portable for Christmas one year in middle school. I had played my share of flash games over the years, and was particularly hooked on the Tower Defense genre thanks to Flash Element TD and Desktop TD. The PSP didn't have any TD games, so I decided to make my own.

The first step to developing native apps for the PSP (in C++) was a 1GB+ download of Cygwin, an SDK, and a toolchain. It was early 2007, and my even-then-outdated internet connection wouldn't have it.

Enter LuaPlayer: http://en.wikipedia.org/wiki/Lua_Player

I started messing around with this and teaching myself Lua. I wrote a variety of simple little games and proofs-of-concept, and eventually made my tower defense game. I've had a soft spot for Lua ever since.

Neat kicker: the guys who made Desktop TD and Flash Element TD later paired up and founded what has become Kixeye.

Re: Ask HN: How did you get started with the programming languages you use?

#45
I picked up on erlang during august this year after reading an article by Joe Armstrong on it. I was new to functional programming and there were two things that I found really interesting.

First was the use of atoms. I am not too proud to say it, but when I as a beginner I used lots of "magic strings" in my code. I found them a lot more easier to understand.Stuff like

if(a="run") //some piece of code here

was common in my code. Of course the best practice was to use a bool run, but I had to train myself to stop using magic strings when I found out that it was bad practice.

In erlang however it is very common to use literal values which are known as atoms. So for instance an atom "blue" is blue. It does not have anything associated with it(well internally it is represented as an integer). You can't perform any operations on it, you can't change it etc. And it immediately clicked with me

The second thing was pattern matching

You have got to use pattern matching to see how awesome it is. It allows you to make your programes much more readable by dividing your function into a group of clauses. A clause will be executed only if a corresponding pattern matches to it. If you use it well you can grasp the flow of your program in a single reading.

There was other really cool stuff about erlang like otp, concurrency etc but when I started with it the only things that I cared for were atoms and pattern matching.They got me started with erlang. Now that I have used erlang a bit more I find things like gen_events and gen_fsm behaviors invaluable for the stuff that I am trying to do.

Re: Ask HN: How did you get started with the programming languages you use?

#46
I got started in Clojure because I was looking for a Lisp that I could use and would grow to be "acceptable" for use as a consultant, since that is how I make money programming. I enjoy functional programming and being able to use the Java ecosystem as a backup "just in case there isn't a Clojure lib" was a huge benefit. My path sort of went from noir to compojure/ring and now I use it to experiment with things like Titanium.

Erlang for me was a developing interest in distributed systems, which I think is of growing importance. The Riak source code, and associated projects, have been great for advancing towards such goals. Erlang the language is pretty easy to pick up and I've spent more time on distributed computing concepts than needing to parse out language details.

Haskell is my favorite language. I like it because it fits my mental models very well and I thoroughly enjoy functional programming. Snap is my web framework of choice and working with a Haskell/Snap/Riak stack has been awesome for a project I'm currently working on.

Re: Ask HN: How did you get started with the programming languages you use?

#47
post #42

I'm still a noob, but I wanted to build something for work. As a Cardiac Nurse with no techy background I found HTML, CSS, JS, and jQuery were easy to pick up (especially with the help of Code Academy and other online resources). My final product 6 minute walk test app is here: http://sixmwt.com . It's for clinicians like myself to use in a Cardio-Pulmonary setting.

This is legit.

That is all.

Re: Ask HN: How did you get started with the programming languages you use?

#48
In 2007 I started researching program analysis on my own. I noticed that a lot of freely-available source code was written in OCaml. Then I was supposed to get involved with an academic internship in 2008, where the code was being written in OCaml, so the principal investigator asked me to learn it. I've been coding in it ever since, probably 150,000 lines of code by now. I don't regret taking the road less-traveled. Only now at the end of 2013 am I starting to get curious about Haskell's more esoteric functional programming concepts.

Re: Ask HN: How did you get started with the programming languages you use?

#49
Long ago I had bought a copy of "On Lisp", read pg's essays, and tried to get into Common Lisp. The issue I had at the time was the lack of a 'batteries included' lisp. At the time I ended up moving to Python instead.

Recently, I've started using Clojure and think it'll rapidly become my go-to language (actually wrote about why just yesterday[1]).

TL;DR is that I went looking for a faster alternative to Ruby, tried Go, ended up happy with Clojure for being dynamic, fast and functional.

In the past I suppose the least common language I ended up with was TCL, about 9-10 years ago. The reason was that I wanted to develop a GUI application, but my attempts to learn GTK or Qt or Swing natively proved too complicated for me at the time. There was in fact a great TCL wrapper for GTK that turned out to be really easy to use.

I ended up using TCL for several years and still have a fond memory of it. The coolest feature I remembered was being able to package up TCL into native, distributable packages - Starpacks[2] - complete with libraries, interpreter and app code in a single binary. Around 2000, this was amazing to me, and I was stunned more people weren't using it. I suspect one of the main things holding TCL back was in fact their lagging GUI support at the time. Mention TCL and people would wince at their memories of using Tk GUI apps.

[1] https://hackworth.be/arriving-at-clojure/

[2] http://wiki.tcl.tk/3663

Post reply on HN