"Gods, that's stupid. Why is it being done this way? Have they never heard of naming conventions? Is the language really that awfully designed?"
Learns PHP to find out more.
"Yup..."
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Follow the wormhole through a path of communities !webdev@programming.dev
"Gods, that's stupid. Why is it being done this way? Have they never heard of naming conventions? Is the language really that awfully designed?"
Learns PHP to find out more.
"Yup..."
Learned Python to try and hack into a porn site.
Well, were you able to hack into the porn site? Python seems like an odd choice for hacking a website.
I almost did this for a different reason, people choose python because it has some pretty good web automation/scraping libraries to work with.
I learned Python and regular expressions to download hundreds of pictures from 4chan. Good times.
Because I wanted to listen to music while doing the dishes.
The Jellyfin Roku client didn't support audio playback, so I wrote it myself... while learning Roku's proprietary language 🙄
I was playing this really simple mobile phone game, where you basically go on these mining trips, then you tap the screen as quickly as possible. So, I thought to myself, I wonder if there's a way to simulate screen taps, to tap at superhuman speeds.
I found an app for that, this app had its own scripting language. Admittedly, there weren't many concepts to learn in this language, but wait, there's more.
Then I thought, maybe I can also automate the menus, between the mining trips.
But this language didn't have support for multiple files, nor functions, you couldn't even use labels in your goto statements, meaning my code started to get quite complicated.
So, I actually sort of implemented support for goto labels / shitty functions within my program.
Basically, at the start of the file, I had an if-else block, which read the value of a variable and based on that, it would select between different goto statements.
So, if I wanted to "call a function", I would set the variable to the function/label name and then goto 0
.
If I remember correctly, I did still need to manually update the line numbers in that lookup table at the start, but at least, I didn't have to do it everywhere in the code anymore.
And yes, I did manage to completely automate grinding that game, using this shitty scripting language.
It was an offline game, and not a good one, I didn't actually care about making progress in it. But scripting it was significantly more fun than playing it myself.
I had totally forgotten until this post reminded me: I originally started to learn Python in order to fix a crossword puzzle program.
That’s a good reason. I used my Java skills to crack a shareware (a solitaire game) because I had no money.
Now you can use Java to have lots of money
I was going to learn !hare@programming.dev just because it is called "Hare" and I like rabbits, but then I saw that I am not on a supported OS.
That is such a sweet reason! Whimsical decisions like this can be some of the best. Life demands a bit of whimsy every now and then.
Edit: I don't know if you're still interested in this, but have you considered WSL? Assuming you're on Windows, that is. I haven't looked into it, but I don't see any obvious reason why it wouldn't work.
I, as a teacher, have had to learn several languages, but that's not the dumb reason bit. The dumb reason bit was WHY I had to teach Python, which once I learnt it (so I cold teach it) I could see right away was NOT a suitable language for teaching to Year 7 (who up to now have only used Scratch). I was teaching the U.K. curriculum, and I found out that teaching C# was also allowed - still not ideal, but better than Python for learners -but pretty much all schools were teaching Python. When I dug into it I found I was far from alone in not wanting to use Python... and I also found out the reason schools were teaching Python. It was because from an ADMINISTRATIVE point of view it was much easier for the schools to have us teaching Python. In other words, the office-workers who didn't have to teach it, only had to admin it, were forcing everyone to teach Python because they wanted the lower overhead that came with installing/maintaining that vs. C#. ARGH! All the teachers who wanted to teach C# were running into exactly the same road-block.
I'm really surprised to hear that teaching C# to 7th graders is easer than teaching them python. Python was invented to teach. It looks like pseudo code. I have almost zero experience in teaching so I trust your experience. But can you elaborate a little? What makes teaching C# easier?
I just replied to someone else with the same question. Less can go wrong (but in either case a non-OOP language, like Pascal, is a much better starting point. You should only ever teach students one concept at a time).
I've always seriously questioned why python has become the defacto beginner language. Sure, a simple print hello world is short, but I feel like static languages are easier to see what's going on.
I'm curious why you think Python is unsuitable. Both of my kids picked up Python pretty easily.
I think there was more, but that's what I remember off the top of my head. If it was up to me then I would've used Pascal - that's what it's designed for! But at least C# has strongly-typed variables, and doesn't care about your indentation (and unfortunately there was no non-OOP language choice available - I'm not sure how this got in the curriculum when every teacher knows you only teach one concept at a time). As I said, many other teachers felt the same way, but couldn't get it past their school admin's.
Not really a dumb reason, but back in the day I was stuck in the WordPress developer loop and tired of it. I was pretty familiar with a handful of languages, but wasn't doing much more than setting up themes and building out pages with builders.
One day I heard the CTO talking about a tool he would love to have but couldn't find anything that worked how he needed it to. The CTO was a big buzzword guy and recently shared an article with my manager at the time about how C++ was "the best language". So naturally I chimed in and told him I could build that tool easy peasy and I would use C++ obviously because it's the best language.
It was such a simple tool, basically just matching phrases and categories and spitting out a list of options. It took me months to make, but I learned a lot and it kind of worked for the most part and everyone was happy. I eventually got a de-facto department in the company where I would just build internal tools and handle some legacy codebases that they were previously outsourcing.
I later on got my current job because of that leap.
TLDR: I learned C++ because I was bored and lied that I already knew it.
Income
I started learning Lua for a WoW add-on. Not even making my own add-on, just tweaking someone else's.
It's hyperbole, but I learned my first language because I wanted to be a god.
I saw these magic windows that popped up, that had buttons, and I was jealous of these godly creators holding the power to make them do as they wanted. So, I learned it myself. I peeked at another program I was using, it was using python and PyQt so that's what I set out with to become my own god of the desktop.
My first program was a GUI wrapper around the YouTube-dl CLI, and I still use it frequently.
Lemmy UI constantly pissed me off, Photon didn't quite do what I wanted, so I forked it and learned Svelte. lol
I was a teacher's assistant in beginner's programming at university for a bit. I expected them to learn C, which I knew enough of, but I got assigned to a group that learned Python instead. I had never used Python at the time. I ended up having to speed learn it while trying to teach it, to not be completely useless.
I wanted to make a scripted version of pinochle because my friends and I play it a bunch on tabletop sim and there was nothing available, so I learned LUA
I wanted to see what the COBOL job market looked like. So I learned the superficial basics of COBOL in a day or two, just so I wouldn't be a complete fraud when I put it into my linkedin profile as a skill to see what happens.
For work.
Wanting to get into the videogames industry.
I inherited a C# code base that had a custom runtime loader for APL modules. Over half of the app was actually written in APL with C# just hosting the API.. so yeah, had to learn that. I don't recommend it but some people seem to really love the language. Those people are often statisticians, not programmers.
I liked the OCaml website
I learned lolcode in college because we had to write a sorting algorithm in assembly and "any other programming language."
I learned a bit of FORTH because an old Minecraft mod (Redpower 2) had a computer that could run it.
Maybe not dumb but I've definitely been forced to at least partly learn a few terrible languages so I could use some system:
ityp
, nsec
, ef_bin
... The sort of names where you already need to know what they are.Arduino and Python to create a sexy machine that syncs up to videos. Oh I also made the sex machine part, like machining metal parts and soldering electronics.
I was trying to rank up in Codewars, and there was a 1kyu (hardest and worth the most points) kata only available in OCaml, so I learned it in order to solve.
We found a RCE on a server during pentest. In KOBOL.
Learning how to make a reverse shell in KOBOL was pretty unique experience. Thankfully, we found another path to DA ajd didn't have to continue, but maan, learning KOBOL, especially of your use-case is niche, is borderline esoteric.
I learned bash instead of python because my 8 year old brain saw all the parentheses and thought "ew no"...
Learned flash in the 90's to make terrible games.