this post was submitted on 02 Jun 2023
30 points (100.0% liked)

Programming

13382 readers
1 users here now

All things programming and coding related. Subcommunity of Technology.


This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.

founded 2 years ago
MODERATORS
 

Personally, I started off with Roblox back in the early 2010s, and taught myself Lua. I really liked those Tycoon games, and wanted to see how they worked.

I eventually found Minecraft (like every kid back in the day did), and learnt Java to make Bukkit server mods.

Around 2016 I thought websites were kinda cool, so I started learning HTML, CSS, and JS, and I've been in the web dev space ever since.

What about the rest of y'all? What's your personal programming path?

top 50 comments
sorted by: hot top controversial new old
[–] Penguincoder 10 points 2 years ago

God it was so long ago. I learnt programming on AS/400 mainframes. Started with RPG and IBM C. Hated it and delved into Linux and C programming and just went from there. These days, I can read and do write everything from assembly, C, up to Golang and Python. The language is just a tool to accomplish a goal. I can do a bit of web dev but nothing with the latest and greatest frameworks like react etc. Give me plain HTML/CSS and I can manage though.

[–] ozoned 10 points 1 year ago (2 children)

My father bought a Radio Shack Tandy TRS-80. I was mesmerized by it. I created basic programs on it.

Then we eventually got a 486DX2 IBM Compatible and I programmed little fantasy adventures.

Those actually built up so that when I was in high school and had a math test I realized my TI-82 was similiar to what I knew and I was able to program my calculator with all of the math equations to spit out the answers for me. This had approvals from my teacher.

I never became a developer, but I still enjoy looking at code and investigating it.

[–] argv_minus_one 3 points 1 year ago (1 children)

Going from a TRS-80 to a 486 must've been like going from a tricycle to a starship.

[–] ozoned 3 points 1 year ago (1 children)

Yeah the TRS-80 was an oddity that barely worked. The 486 really got me into computing and just loved all of it.

[–] argv_minus_one 3 points 1 year ago

The 486 was remarkable in that it packed a lot of features onto a single chip, including privilege levels, memory protection, virtual memory, floating-point arithmetic, and a 32-bit address space. These were once features you'd only find in a big-iron machine from IBM or DEC. Even when they did become available in smaller computers, like the Motorola 68000 series, they still tended to require additional chips to implement them, like the Motorola 68851 memory management unit and 68881 floating-point unit. The 486 had all that stuff built in. Motorola was behind, but not by much: they matched the 486's features a year later with the 68040.

Intel wasn't always neck-and-neck Motorola, though. When the 68000 was released in 1979, it was even more revolutionary: it was one of the first 32-bit microprocessors, and very fast for its day. IBM engineers wanted to use that for the IBM PC, but if I recall correctly, management wanted Intel instead because they already had a deal, so they went with the more primitive, 16/20-bit Intel 8088 instead.

And that's a shame. Had they used the 68000, PC DOS would have been 32-bit from the start, and the infamous 640kB limit would never have existed.

[–] hazelnoot 3 points 1 year ago

I was able to program my calculator with all of the math equations to spit out the answers for me. This had approvals from my teacher.

Super cool of your teacher to allow that!

[–] sparse_neuron 8 points 2 years ago* (last edited 2 years ago)

Grew up playing videogames and always wanted to make my own. Didn't really click for me until I was able to take AP Computer Science in highschool in 2014. Now I'm aiming to finish up my PhD in CS with a focus on ML and CV.

[–] Mindless_Enigma 7 points 2 years ago (1 children)

Started out by tinkering with the old LEGO Mindstorm robots as a kid. Learned how to code using the graphical drag and drop system they had for the RCX and NXT platforms. I was interested in all things robotics so fast forward to High School where I was on the school's FRC team. I was involved with that one both the hardware and software fronts until there were a few close calls working on physical prototypes. Decided then that I would be better off always behind the computer screens. Learned Java so I wouldn't ever have to mess with LabView again and then went to college for a CS degree.

Learned surface level knowledge for several languages throughout school and now work as a full stack .NET developer.

[–] GandalfDG 3 points 1 year ago (1 children)

Also started with Mindstorms! Went from the visual programming language to using NQC which was a c-like compiler for the RCX. From there went on to learn Java, C++, C, Python, Z80 assembly, etc. etc.

[–] Mindless_Enigma 3 points 1 year ago

Oh yeah, I remember NQC! It went over my head as a kid as far as learning how to write code with it went, but it was such a cool idea to me. Running "real" code on a little LEGO robot.

[–] Xor 7 points 1 year ago (1 children)

I don't really remember what made me start but I do remember my first project being a hilariously bad c++ blackjack game, all spaghetti code. Also learned a lot by building Minecraft redstone circuits. I remember building a thing that sent a piece of data over a single redstone wire and stored it in redstone memory, I was so proud of myself for figuring it out lol

Did a little java to make Minecraft mods but eventually I stumbled on python and it stuck bc it was so easy to use.

[–] strudel6242 3 points 1 year ago (1 children)

Yeah, I got a lot of fundamental computer science from Minecraft's redstone too. Making a 3x3 piston door was basically a work of art haha

[–] Xor 3 points 1 year ago

Can't believe how much time I spent as kid squinting at poorly drawn diagrams on the minecraft forums and trying to figure out what the hell I'm supposed to building haha

[–] Swimmerman96 7 points 2 years ago

I started in junior year of high school, I knew I was interested in computers and my father encouraged me to sign up for Computer Science class. I enjoyed that and we were briefly exposed to programming concepts and I really liked it. I took the next programming class with the same teacher. We worked with Java, writing programs for Karol the Robot to programmatically move Karol around her grid with walls. When it came time to think about college, I knew I wanted to be in computing but not what for sure. So I chose to apply to tech schools to have a little flexibility in case programming wasn't for me as a profession, and started in the Software Engineering major. From there we worked with Python, Java, C, Ruby, and so many more languages. Here I am today, a few years into being a professional Software Engineer, running a homelab for fun, and loving it.

[–] cityboundforest 6 points 2 years ago

Funnily enough, it was Khan Academy and the course there on Python programming. I taught myself Python, and then Java, and then C++ and then I played around with both an Arduino and a Raspberry Pi, then I started my degree in Computer Science (which I technically didn't finish but I also technically did) and the rest is history. History that led me to work on a team that would work to send a small simulated satellite into low-Earth orbit. And now I just do random projects and make games when I have the time between my many other endeavors.

[–] wintermute@feddit.de 6 points 1 year ago* (last edited 1 year ago)

Back then, when you wanted some new games you could:

  • buy them (over expensive)
  • trade some on cassette tapes at the schoolyard
  • Go to the library, grab some source code books, have fun programming them

Wrote my own text-adventure when I was 10, since then I came across Basic, Turbo Pascal, JS, Java, AS, Lua, Python, C++, maybe some more 😵‍💫

[–] lolgoodquestion 6 points 1 year ago

Minecraft plugins, a very fun way to learn Java

[–] catacomb 6 points 1 year ago

Club Penguin! I loved the game but once I reached 12 or 13 I was a little bored with it and saw some kids making cheat programs. It was mostly harmless, you could make your penguin giant or change your name to something silly client-side.

Eventually I was making bots that would follow you, or scanners for the "celebrities" (like Rockhopper) and then went on to write servers. The socket code was really fascinating to me.

[–] kweakzs 5 points 1 year ago (2 children)

I think my first push was when I was 12 reading a local popular science magazine and it had an article about a 13 year old kid who had made a very successful iOS game. After that I talked about how I want to do programming so much that my parents got me a "Python for Dummies" book.

Self-learning programming at such a young age was very difficult, I tried to turn to online forums for help and was met with extreme amounts of abuse. The worst by far was StackOverflow and I've hated the site with passion ever since. Things turned around when I started to ask for help on a local social network similar to Facebook and people seeing that I was a kid there were extremely helpful. I still remember the founder of the site even answering a couple of questions I had. I really wanted to work there after these positive experiences, but by the time I grew up the site had been ran into the ground.

After that I had some experience doing some game dev stuff. I played around with game maker, later on made some Minecraft server plugins for Bukkit. One of them even reached over 1000 downloads and is still by far the most successful solo project I've ever published haha.

Where I really started to establish my skills was when I switched schools and the new one had a competitive programming extra curricular class. After being a very active participant there I ended up winning many state level awards at competitive programming, even went for some regional international contests.

Then years later I joined university and absolutely hated it. It almost turned me off of programming just being teached decades old programming knowledge. Waterfall project management etc. One memory of mine is explaining basic c++11 features to the TA because he had never seen them. This was in 2018. There was only one good course I had and I enjoyed - Linux System Programming. I hated the rest so much I dropped out and now am a professional software developer. Still feel like the time I spent at university was just extremely wasted.

[–] strudel6242 4 points 1 year ago (1 children)

explaining basic c++11 features to the TA in 2018 yikes!

I feel like universities have a special opportunity to teach really cool concepts that would be impractical in bootcamps and such; learning about the maths behind algorithms and data structures, how to evaluate them objectively, learning about grammars and expressions, building interpreters / compilers, all this stuff that can be really useful if you find yourself working beyond simple CRUD stuff.

That being said, these days so much work is just CRUD, so ymmv.

[–] kweakzs 2 points 1 year ago

I think I just had a bad experience with choosing a local university and believing the lies that it's top university in my country and is comparable to foreign ones. I have a lot of friends who studied abroad and their programs sounded so much more useful and up to date. I've thought about enrolling into a foreign university from time to time but the amount of sour taste my local one left and how comfortable I am already in the job market makes it a very difficult decision.

[–] honeyontoast 3 points 1 year ago

Waterfall project management etc.

It's interesting you experienced this too, when I was in uni (2014ish) we were taught both waterfall and agile, but they made a point that a lot of businesses will prefer waterfall and that agile isn't professional.

Professionally, I've literally never seen anyone say they want or prefer waterfall project management.

This was a UK university well known for its programming and computing, too.

[–] davido 5 points 2 years ago

Started two years ago with Roblox! Fun how most start there. I stick with it for now as the platform got huge, and its much easier to find new players these days on Roblox compared to other platforms looking at how most indie devs struggle to get paid. I made 300 usd from my first crappy game (a game in which you deepfried youtubers) so I figured it was worth a shot lol. Currently building a pirate game as Ive always felt there arent enough pirate rpg games these days. 🏴‍☠️

[–] Hexorg 5 points 1 year ago

When I was 9 I started using “Cheat'o'matic” to have infinite health in Diablo 1 in the late 90s and it got me really interested in how computers work. I bought a kid-oriented book that taught Turbo Pascal and it showed some cool algorithms to draw spirographs and I enjoyed tinkering with it. From there I got to Delphi. At that point I was playing some online games and heard that they were written in PHP so I started learning that along with HTML. Then C, x86 ASM (just basics), and Flash's ActionScript, Visual Basic, C++, Java, Python, and now Rust.

I got my PhD in computer security and have been working in Cyber R&D doing automated binary analysis.

Fun fact the author of Cheat'o'Matic now works on VAC anti-cheating system

[–] TheTrueLinuxDev 4 points 1 year ago

Oof...

I pick up Dark Basic when I was in Fourth Grade. It goes from Dark Basic -> Dark Basic Professional -> C# -> Java, PHP, Ruby, Python, Perl, C/C++, DLang, Rust, and so forth.

I mainly program in C now.

[–] dax 4 points 1 year ago

Now I know how all the old guys felt when I asked this question in 2000.

I got my start making GW Basic programs for classes I had in ... 1996? Visual Basic 6 came to me in '98, ADA95 in 2000, Java 1.5 in 2003, and then I got a job doing it while finishing my degree and mostly writing Coldfusion. Then it turned into Java, Java, Java, more Java, some extra Java, and some more Java on that.

The last few years it's mostly been Python, Rust, C++, C#, Scala, Kotlin, and Java - all because I work in a research org and can just pick the best tool for the job at the time and not worry about much beyond showing our research POCs in the best light possible. For some cases, that's writing Rust with pyo3 Python bindings so the dsci's can still do real high performance computation from their cute little jupyter notebooks, in others it's a quick Python fastapi rest interface; sometimes I gotta write some Azure Functions and pick C#, and sometimes I need something fast and easy to wack out something a bit more enterprise grade and I go back to Java and SpringBoot.

And right now I'm suffering with C++ and trying to track down a sometimes segmentation fault sometimes double free sometimes munmap chunk error that only happens when we use the lib through the pybind11 bindings we've built, and I'm just not having any fun at all. It's amazing how frustrating debugging is without a viable debugging environment. I had forgotten how brutal this is in your early days when you don't know how to set up a good debugging environment until now when my tools have forsaken me. I'm back to ye olden std::cerr << __LINE__ << "here" << std::endl; insertions like a baby programmer and it's both exceptionally frustrating AND rewarding - mostly because when I go back to a problem space where I can use a debugger, I realize how fucking good I have it.

The one nice thing about becoming a software developer is that, if you want, you can write in any language you want and learn new things constantly. Eventually you'll reach a pretty high level but still a plateau in your given language - and that's awesome. You can stop there if you want. If you're motivated to figure out how everything ticks, though, I urge you to learn a new language. Find a new job if you have to. I would say the biggest boon to my understanding of programming, languages, etc has been when I went deep in LanguageX for a long time, then shifted to something well outside the bounds of LanguageX - like jumping from Java to Scala (diving wholesale into FP), or Scala to Python (giving up on sanity and type checking and a hilariously difficult time to write robust libraries), or Python to Rust , or Rust to C++. So much of what you know from your experience is just you knowing something by looking at one or two sides of it at a time from a fixed position. Learning a different language (to a professional level) is like changing your position around the outside of the room to look at things from a completely different perspective. Suddenly your Java gets better because you've learned Scala. Suddenly your Scala gets better because you've gone to Python. Suddenly your Python gets better because you learned Rust, and suddenly Rust makes sense because you've been strugglebussing with C++.

There's a ton of value in diving deep on a language for a few years. Don't ever regret that opportunity. But for me, I really think changing things up every few years has made me a distinctly better developer overall, and understanding so many more things that I never would have had any insight at all into without my madcap sprint through languages; language features, language constructs, language paradigms; entire ecosystems of different approaches.

I've come a long way since I struggled to write my first hangman game in GW Basic and used variable names like g_string : str, thinking I was the most clever sob who ever lived (clearly, I was not).

[–] HawkXero@lemmy.one 4 points 1 year ago

I'm still new to the space, though I've been dabbling for years now. I don't really have a handle on any language yet. I feel like I'm still trying to wrap my head around the concepts fully and haven't really done any real projects other than a simple Python program that was about 100 lines of code. I've dabbled in Java and HTML/CSS here and there as well.

Between life's challenges with my own health and my family's as well it's tough to find time to learn. But I'm still endlessly fascinated.

Being able to actually develop the skill and become good enough at a language to get a job in the industry would probably be great for my family's situation but it's just so hard to get to that point.

I'm hopeful one day things will line up and I can finally call myself a programmer.

[–] mifuyne 4 points 2 years ago

I can't even remember what motivated me to get into programming in the first place. I do remember playing around in QBASIC. Eventually, I wanted my own website so I learned HTML, CSS, and PHP. I enjoyed it but because I was horrid at math in school, I determined I was better off not going to post-secondary for comp sci. Went for graphic design instead. I ended up with an on/off relationship with programming for a long time. Funny enough, there were a couple of courses in my graphic design program that touched on programming. Data Visualization, we used Processing for that one. Game Design, we used GameMaker and Unity3D.

But once again, I convinced myself that programming isn't something I can get into professionally because math. Kept trying to push through the growing anxiety of art/design. Recently, I finally made the decision to no longer stop myself from pursuing a career in programming just because my math is lacking. Plus my anxiety had gotten so bad that I couldn't fathom the idea of having an "art" job anymore.

Funny enough, I enjoyed math when I was writing code for that Unity3D school project. Go figures.

[–] shufflerofrocks 4 points 2 years ago

Honestly I was put off from programming as a child because we had a bad teacher.

I got into it a few years later because of a desire for understanding and independance - I wanted to be able to understand all these complicated tools and languages, be able to make my own judgements about tech, and be able to use all these things to build stuff.

Even now, making a simple script to automate a task is fulfilling as hell.

Started with c++, java, then python, then c#, then js and it's many flavours, then flutter/dart.

I like to think myself as a generalist who knows a little bit about everything and how they all work together. I'm ideal for building things, but not optimal for scaling or optimising stuff.

[–] noxfriend 4 points 1 year ago

When I was young I always thought programming was mind-bogglingly complex, that I'd never be able to do it, I wrote it off. In school I took IT classes because I was good with computers but they never had any programming so I wasn't exposed to that until I started a computer science degree. There I did my first programming course where I was gently introduced using Windows Forms and C# and was immediately hooked, right after class I went home and started making my own silly Windows Forms apps

[–] SoaringFox 4 points 1 year ago (1 children)

I started in high school with visual basic, making little Windows apps that did random stuff. Loved it. Did AP class in a later year and still loved it so I went to college for my CS degree.

I still think fondly of the VB programs - I would turn in projects that had easter eggs like clicking a certain letter would make one of the buttons flash through the colors of the rainbow.

[–] honeyontoast 4 points 1 year ago

My first professional job still had old VB applications, one of which took in a user's ID and if you gave it a specific one I've long forgotten it would load the user profile of a stormtrooper. I miss those Easter eggs!

[–] KoboldCoterie@pawb.social 4 points 1 year ago* (last edited 1 year ago) (1 children)

TI-83 graphing calculator in high school, around 1998. I would sit there in math class coding games in Basic. Ended up developing a reputation as the guy you went to if you needed a program to cheat on a math test.

The highlight of the entire endeavor was a class wherein the teacher announced that before a test, they'd be resetting the memory on everyone's graphing calculators, to prevent cheating. I wasn't planning to cheat, but I did have a few games I was working on, and I didn't want to lose them, so I wrote a program that emulated the graphing calculator's interface, and would let you go through all of the steps to reset the memory, including showing the Programs menu as being empty afterwards, while not actually resetting anything.

I showed this to the teacher just before the test (demonstrated "resetting the memory" with the program running, then demonstrated that the memory was in fact not reset), and he backed off from the compulsory reset policy in favor of the honor system, because he conceded that he wouldn't be able to verify that the memory was actually reset anyway. Made me feel like an absolute hero.

It's honestly funny because I learned the concepts in the math classes a lot better as a result of this - it took a very thorough understanding of how to use a concept to write a program to solve it for you.

[–] burning_beard@lemmy.world 2 points 1 year ago

It's honestly funny because I learned the concepts in the math classes a lot better as a result of this - it took a very thorough understanding of how to use a concept to write a program to solve it for you.

My experience almost exactly. I built the interest by making/hacking TI-83 games, then made math class programs which i never really used because i had learned the material. It was fun, eye opening, and paved a path to my career!

[–] lunasloth 3 points 1 year ago

Before college, the only exposure I had was some basic HTML and CSS in high school because I wanted to customize my MySpace and LiveJournal (am I dating myself here? haha). Then I had one class my freshman year of college that involved some C++ programming, which was my first time actually writing a full program. Halfway through college, I wanted to change my major, and I ended up switching to CS since a few of my friends were doing that, and it turned out I liked it well enough.

[–] vraylle 3 points 1 year ago

Got to use a TRS-80 in school, learned a little Basic. Then saved up to buy a TI-99/4A in 1980. Immediately started playing with the built-in flavor of Basic to make simple games and apps. Progressed from there into the Commodore line (which is where I learned Assembly) and eventually into DOS/Windows. First paid gig was in 1985. Been doing it ever since.

[–] big_tabb 3 points 1 year ago (1 children)

I think I can trace the start to YoYo Games GameMaker, I remember feeling a little restricted by their event chaining system and wanting to learn a bit more how game scripting works. That led me to taking a "Computer Programming" class in high school (building simple Windows application in Visual Basic), which led to me studying Comp Sci in college. As I'm sure is the case for many nerds-turned-devs, most of the inspiration for wanting to learn at first was to understand how games work, and the curiosity spread from there!

[–] SoaringFox 3 points 1 year ago

Hey it sounds like we took a similar class in high school!

[–] Seda 3 points 1 year ago

I'm a QA programmer. I started as a manual tester, and spent a summer learning Javascript from code academy. My company has been very supportive! They encouraged me and provided a sort of path for me to follow

[–] Mars 3 points 1 year ago

Since I was little I was into computers and video games. Got into college, dropped out, got a job as an event producer.

Pandemic hit. Got back into code. Learned web stuff. Worked as a freelance for a couple of years. This January got a job as a Java developer.

[–] hazelnoot 3 points 1 year ago

I first got into programming as a kid, when my dad gave me his old DOS PC and a reference manual for QBASIC. I taught myself the language by studying example programs and looking up commands in the manual. I wasn't very good at it (I'm not sure I ever figured out how write a function lol), but I loved it and spent hundreds of hours making little "choose your own adventure" style games.

When I was a bit older, I got into Minecraft and wanted to create my own mods. I taught myself Java and made a few simple tweaks with Modloader. I didn't like Java, but I liked seeing the results of my work in a 3D world so I stuck with it. Most of my friends also played Minecraft so we started a private server running our favorite mods. We quickly found that it was hard to keep modded clients in sync, so I pivoted to Bukkit plugins. I maintained those plugins for years and even published some of them, which introduced me to the concept of OSS. I kept with that all the way into college, when my old friend group collapsed and I finally shut down the server.

Here, I actually pivoted away from programming and studied computer security. I even swapped the software development branch of my major for a cyber security focus instead. I only swung back to programming at the very last minute because I got a software internship and really enjoyed the work. I still graduated with a cyber security focus, but now I'm a professional software developer 🤷‍♀️

[–] palanthas 3 points 1 year ago

Growing up in the 90s, I watched my father work with computers in the US Air Force. In 2001 he gave my brothers and I an HTML book and stated that "With this and Notepad you can write your own websites". We proceeded to tear that book apart and each of us had a web site on our Windows 98 SE computers that were networked together and thus had our sites linked together. Nothing spectacular but it was fun.

I wish now that I had spent more time on the javascript side of the book as I am still pretty weak with JS.

[–] ott0 3 points 1 year ago

I started by making myself a small personal website in the early 2000s, and introducing iframes because I was tired of copy-pasting the same navbar into each page. That led me to PHP to achieve the same thing with includes, and then the snowball effect started.

After more amateur and self-taught website work before uni, I then started a CS degree and was taught how to program for the first time: starting with Java, some Haskell, some C and more than enough perl.

The working world came knocking and I expanded my repertoire to include Python and any other language of the day.

[–] rothaine 2 points 2 years ago

Game Maker 3.3

Then TI-BASIC so I could make calculator games in class

Then college 😁

[–] vyla 2 points 1 year ago

google appmaker. it had blocks you could drag to do stuff. i made a few games where you click stuff to make other things show and change the color of things, kind of like point nad click adventures but eith just buttons and background colors

then a year later i found scratch and i got addicted. scratch -> python -> html/css/js and nodejs -> visual basic for a bit -> ...

[–] donio 2 points 1 year ago* (last edited 1 year ago)

BASIC and eventually Z-80 asm on the Sinclair ZX-81. I didn't have an assembler so I had to translate the instructions on paper and POKE them in by hand. I managed to write a screen scrolling routine this way. RAND USR 16514 and all that.

Some other Z-80 micros after that and then PCs and jumped on the Linux train pretty early on, been riding that since.

[–] honeyontoast 2 points 1 year ago

After college (UK college, that's 16-18) I had no idea what I wanted to do but I liked playing games so I picked a foundation degree in computing. Turned out to be pretty good, but lacked a lot of confidence and was too scared to actually try getting a job.

Worked for a very small independent retailer for a while afterwards and basically became their entire IT team which helped a lot with the confidence. Got a job in IT support then made an internal switch to a Dev team. Switched companies a few times since then and now I'm a senior .NET developer 😄

[–] sadndead@lemmy.blahaj.zone 2 points 1 year ago

It's a silly reason for my case. When I was like 11, I watched so many hacker movies and was like "damn this is cool, I want to be like them" so I dug through the path of "how to become a hacker" and saw that I need to know the program before trying to hack it. Tried learning C but failed because my monkey brain can't handle all that. So I ended up writing random bash and python scripts since that time.

[–] moose@reddthat.com 2 points 1 year ago* (last edited 1 year ago)

I was forced to learn HTML as a 9-year-old so I could make sick Pet Pages on Neopets and show off to all my Neofriends.

[–] MrKarato 2 points 2 years ago

Got to Community College and had to make a choice. Do I go for my dream career as a CSI, or do I go for that computer stuff that makes a lot of money? Haven't regretted it yet. I love working with and playing on computers, so this career and education path has fit me quite well. I suck at chemistry anyway!

load more comments
view more: next ›