DEV Community

Seth Corker
Seth Corker

Posted on

What was your first programming language and why?

I use JS a lot these days but it's not the first one I learned (it was the second). My first foray into programming was a combination of C++ and GameMaker Language. I wanted to make games when I grew up and I remember reading everywhere that C++ was the language to learn. I was also using GameMaker a lot after school to hack together terrible prototypes which, at the time, used GameMaker Language.

Homer Simpson looking overwhelmed while reading a manual

After reading through hundreds of pages of a introduction to C++ book, I still never really got the hang of C++ but some of that knowledge stuck around and helped out with JS and Python. Today I haven't written any C++ or GameMaker Language in years but I'm sure they helped me get to where I am now.

What was the first programming language you learned and why did you learn it? Did you have a choice or was it by necessity?

Oldest comments (84)

Collapse
 
panditapan profile image
Pandita

Pascal, because that's what my uni was teaching at the moment X3

Collapse
 
darthknoppix profile image
Seth Corker

Have you used Pascal recently or do you mainly use C# now?

Collapse
 
panditapan profile image
Pandita

I mainly use C# nowadays but I used to jump around languages, environments and frameworks before I got a stable job and became an adult 😅

Collapse
 
richardpaulhall profile image
richardpaulhall

Pascal dried up around here decades ago. Never encountered a need to learn C, C++, or C#.

Thread Thread
 
darthknoppix profile image
Seth Corker

What's your language of choice?

Collapse
 
pmarkoulidakis profile image
Markoulidakis Panos

Java 1.4

Collapse
 
darthknoppix profile image
Seth Corker

Do you still use Java today?

Collapse
 
pmarkoulidakis profile image
Markoulidakis Panos

Yes, Java, PHP and learning go

Collapse
 
edh_developer profile image
edh_developer

Applesoft Basic. It came with the Apple //e, and that's the hardware that was available.

Collapse
 
darthknoppix profile image
Seth Corker

Computers like the Apple // came with a programming language. Do you think nowadays it's a missed opportunity that computers don't come with more information on how to start programming?

Collapse
 
edh_developer profile image
edh_developer

I don't think so. With a modern computer and operating system, generally you have access to Python or vbScript. You also have a web browser and a simple text editor, which gives you access to html and javascript.

It's also likely you have access to the internet, which means much easier access to documentation than we had then. I still remember figuring out bits and pieces from Beagle Brothers code listings. Which was kinda cool, but very slow going.

Collapse
 
leandroruel profile image
Leandro RR

my was html...

just kidding... javascript. then i jumped to PHP.

Collapse
 
darthknoppix profile image
Seth Corker

What got you interested in PHP? Was it the next logical step after learning HTML and JS?

Collapse
 
ahferroin7 profile image
Austin S. Hemmelgarn

Let's see...

Started with a dialect of Scheme called Racket (known back then as DrScheme) when I was a pre-teen (I expressed interest in learning to code, and that's what my father (who's a software engineer himself) suggested), never went past tutorials with that, and gave up pretty quickly. Toyed a tiny bit with C shortly afterwards but never went very far at the time. Technically learned basic Ruby, and JS (that is, I read the language definitions, but never wrote any code) at about the same time.

Fast-forward to my senior year in high-school when I took a course on BASIC (using FreeBASIC) which I mostly regret (I developed a lot of bad coding habits as a result of it). Started learning Lua at about the same time (mostly because of being a bit beyond obsessed with the original Star Wars Battlefront II, which uses Lua for a lot of stuff internally) and got a LEGO Mindstorms NXT set (with their weird native graphical coding environment) but never went very far with either. Started learning shell script about a year later because of learning to use Linux, and pretty quickly started learning Python after that as well as actually using some C (it's kind of hard to work on a POSIX-like system without picking up at least a little C).

Now, almost a decade later, the only things I actively use today are shell script and Python. I occasionally drop to Lua for rapid prototyping of algorithms (faster at run time than Python without the feedback delas from a compiled language), but that's getting less and less frequent (not because I don't like Lua, but because I have less and less need to prototype algorithms). I spent the past 9 months learning JS properly, and am reasonably competent with it, though I likely won't use it much and absolutely despise a number of things about the language. I also just started (past few weeks) learning Elixir, which I've been mostly enjoying so far but also don't expect to end up using all that much.

Collapse
 
darthknoppix profile image
Seth Corker

That's a really interesting journey, it sounds like you've jumped around a lot.

Firstly, what were the biggest challenges you faced learning programming in some of your earlier endeavours i.e. Racket and C?

Secondly, it sounds like Python is the one you use the most today, along with shell scripting, why do you think these clicked?

Collapse
 
ahferroin7 profile image
Austin S. Hemmelgarn

Firstly, what were the biggest challenges you faced learning programming in some of your earlier endeavours i.e. Racket and C?

The biggest issue for me with Racket was the syntax. For some reason, I just can't consistently wrap my head around LISP-style syntaxes like Scheme (and by extension, Racket) has. Even today, with multiple years of experience programming, I have to put a lot more mental energy into understanding LISP or Scheme, or SmallTalk, or even OCaml than most other languages when I'm reading code.

C, OTOH, was mostly a case of just not getting any real experience. At the time, I hadn't really 'discovered' FOSS yet, so my only percieved option was to shell out money for Visual Studio, which I had absolutely zero interest in doing (aside from not having any practical way to earn that much money either). I'm actually reasonably competent with C these days, but I don't really use it much because very little that I do actually needs it.

Somewhat ironically, I had issues with BASIC too when I was taking that course in high-school because the prior (limited) experience with Racket and C meant I was already thinking at a much lower level than the dialect of BASIC we used operated.

Secondly, it sounds like Python is the one you use the most today, along with shell scripting, why do you think these clicked?

For shell script, it's necessity. I work IT and mostly deal with UNIX-like systems, as well as using Linux on most of my personal systems, so it's kind of hard for me to get anything done on a computer without knowing at least some shell script.

For Python, I think it's that so many things about it are just kind of intuitive for me. The off-sides syntax just makes sense to me, exception handling in Python has always seemed more robust and well designed than other languages, the concepts around context managers fit perfectly with the way I think, etc. The robust standard library has also been a major factor for me, as it means I quite often don't need any external dependencies.

Thread Thread
 
darthknoppix profile image
Seth Corker

Great points, thanks for sharing your insight. Python seems to be a favourite among Dev Ops and IT because as you said, you can be productive with an extensive standard library.

Collapse
 
fennecdjay profile image
Jérémie Astor

chuck, and C.

Collapse
 
darthknoppix profile image
Seth Corker

That's cool, never heard of chuck before. Did it inspire you to create Gwion?

Collapse
 
fennecdjay profile image
Jérémie Astor

Sure.
I created Gwion because chuck is too slow (e.g.: it doesn't have a proper VM, using indirections instead), so slow I couldn't take my work to the complexity it deserved.
I also missed C/C++ features, like function pointers, templating.
Then I tried Haskell and added tuples, and I'm in the process of implementing pattern matching.

Thanks for your interest.

Collapse
 
thewasif profile image
Muhammad Wasif

It was Java. I chose it randomly but dropped it because it was difficult. I learned HTML & CSS and first completed language is now Javascript.
I love Javascript. ❤️❤️

Collapse
 
darthknoppix profile image
Seth Corker

Glad you found a language that works for you! You say you chose Java randomly but were there any reasons that lead you to Java or eventually HTML, CSS and JS?

Collapse
 
ferricoxide profile image
Thomas H Jones II

BASIC ...because, as a 7yo in 1977, there weren't a lot of options available for the TRASH80 family and Apple ][ at the time. Eventually moved on to assembler because otherwise everything I wanted to do was ungodly-slow. Later in middle- and highschool, we got some PASCAL. Wasn't till college that started getting some C exposure (and got to live through the fun of moving from K&R to to ANSI).

Collapse
 
darthknoppix profile image
Seth Corker

Do you still program today or are you more focused on technical enablement?

Collapse
 
ferricoxide profile image
Thomas H Jones II

Technical-enablement means that most of what I write are tools and automation rather than applications.

Collapse
 
ferricoxide profile image
Thomas H Jones II

You got harangued with the whole "learn PASCAL: it will properly teach you structured programming" spiel?

Collapse
 
richardpaulhall profile image
richardpaulhall

Yes. I gave that speil.
Structured, hard typed, learn it well and you are ready to go do anything else.

Thread Thread
 
ferricoxide profile image
Thomas H Jones II

Ironically, I find that having cut my teeth on structured and strongly-typed programming, I have to let go of a lot of habits to use loosely-typed languages.

Collapse
 
elcotu profile image
Daniel Coturel

It was QuickBasic, in my family's first computer, a PC 386.

Collapse
 
darthknoppix profile image
Seth Corker

I remember QuickBasic!
What got you interested in programming and are there any lessons from QuickBasic that you carry with you?

Collapse
 
elcotu profile image
Daniel Coturel

Hi Seth,
I was then 8 or 9 years old. The thing that motivated me was my uncle's example. He is a physics teacher, but knew stuff about programming. Back then, he had some stuff he programmed and it was very impressing, at least for a child. So I started looking in docs and made little programs.
I don't really remember much of that code, because three years later started diving in Java.

Thread Thread
 
darthknoppix profile image
Seth Corker

Thanks for your story, I'm always interested in how people get started and what their influences are. Thanks for sharing.