Mayo Pete declares himself most popular programming language, with 69 languages. "Terminal, you shocked the mainframe"
My boomer professors who I guess decided that java is not boomer enough, so we're doing fortran now.
I actually am less pissed about Fortran than I am with Java. My school is applied math and physics, like, I get it, physicists still use Fortran a lot. Alright. I know there are some legitimate reasons for that, although part of it is just inertia. But why oh why do we start out by learning Java? Like, there is literally no fucking point. It is in no way similar to fortran, and it's just clunky and weird and nasty. Even worse, we had to use some sort of "educational" IDE called BlueJ which just feels straight out of the 90s and it is legitimately horrible and crashes all the time. Like, either go all out with C++ from beginning to end (as they do in other schools) or do Fortran from beginning to end, or even just teach fucking python first semester, then go to Fortran if you so insist. Or don't ever go to Fortran and just teach Python, it is much more useful to, like, 99% of people. Fucking boomers...
I learned to code in python (then learned R and bash) so I relate everything to it and I'm probably a fanboy, but it really looks like the easiest to learn to code in.
Once upon a time, it was the dominant language (still kinda is), and it's halfway between the laziness of a scripting language that does most things for you (can teach bad habits) and a more hardcore language like C (which is bad for beginners and forces you to do a lot of extra work.)
No language since strikes that balance quite so well while still being a good teaching tool for beginners. Maybe C#?
Teaching programming is always gonna be a pain in the ass and is always gonna be half irrelevant by the time you're done with it.
We're not supposed to be programmers anyways, all we need is a scripting language to run a few dumb scripts. We learn all that OOP in the first semester that we just never fucking touch again, it's utter clown shit.
No argument there.
I remember sitting in on a CE class once while, as a "challenge," their assignment was to purposefully use a binary tree wrong, and to make it using a 2d array in C. They were not only learning something they weren't taught to understand and would never use again, they were being forced to use it wrong on purpose.
It's a symptom of the fact that programming developed out of the computer science discipline, coming out of the Math major department. So there's never been a good, cohesive way to just teach the basics to people. It's always carrying all of this stupid baggage along with it.
Oh, I forgot to mention the best part: in the exams, we have to write the code ON Paper with a pen etc. That's right, we don't even have a computer next to us or anything, we write down the code on a sheet of paper with no other aid. And it doesn't help that the asshole professor will often detract many points for forgetting a semicolon.
Ugh that's godawful. Reminds me of my last interview, where I had to write compile-ready Java code on a fucking whiteboard. After that I decided I would never again write code in an interview. If someone wants to know if I can code, I can provide them with some code I've written, but I'm never doing another whiteboard coding exercise again.
BlueJ is not an IDE; it's a text editor. You might as well use Notepad.
This is a pretty subjective distinction. I mean everyone agrees that
vi
is a text editor and Visual Studio is an IDE but most programs in the middle, especially the ones that support extensions, can be considered both. A lot of professional programmers are using things like VS Code, Sublime Text, or Vim, which are "editors" but have tons of extensions that do all of the auto-completion and compilation you could want.It was less of a serious point and more of an attempt to dunk on BlueJ, to be honest (if you've ever used BlueJ, you'll surely understand). I ended up arguing the point a bit too vehemently, though, so it ultimately came across as serious, unfortunately.
Lol well I believe you that BlueJ sucks. All of the Java IDEs except maybe IntelliJ are a nightmare.
Dude you're very wrong to even put BlueJ in the same paragraph as other Java IDEs lol. I used Eclipse and yeah, it's kinda clunky sometimes but nothing, and I mean NOTHING, can prepare you for BlueJ. Shit just fucking freezes all the time, it has almost no functionality and the interface is gross. But it's supposed to be "educational" because it portrays objects as boxes or whatever with nodes going from one to the other. It is very hard to explain if you haven't tried to use it, it's just gross even if it didn't crash every 10 minutes.
Alright I am kinda confused now because I don't know that much about programming (again, not studying programming) so I am not sure what term is right, but I'm pretty sure it is an IDE, like, it actually compiles the code and lints and shit. It's just awful at it, but it has an "educational" interface that is just horrid.
Just because it compiles the code doesn't mean it's an IDE. A proper IDE does things like code auto-completion (I virtually never use the
}
key because the IDE fills it in for me when I hit enter after typing a{
, for example, and I almost never type full class names either) and other fancy features like variable renaming across all locations where the variable is used, dependency management, the ability to jump from a reference to a class/method/variable to the place where it's declared, version control integration, and many others.It does some stuff similar to that. It is definitely not a text editor. Wiki seems to agree. I agree it's garbage but it's still an IDE.
I had to use BlueJ when I was in college; I'm familiar with it. I just don't agree that it's a proper IDE just because it's got a few more features than Notepad. Any "IDE" where you have to write your own import statements is not worthy of the title IMO.
I don't think very many other schools "go C++ all the way". The best ones probably start with a language like Python and then switch between C, something object-y, and something function. C is probably the most useful as it is lingua franca for Unix and has the ability to work with low level data structures, which every CS student is doomed to study. For applied math and physics, learning some of the big science languages, like R, Python, or Julia, would be good.
Apparently the university of Edinburgh starts by teaching students Haskell, which is an educational power move if I've ever heard of one.
I don’t think very many other schools “go C++ all the way”.
Other schools or departments or whatever you call them in the same Polytechnic I go to do.
But starting out by Haskell... Wow, that's some big dick move right there. Weird as fuck.
poor bastards who are forced to use it i'm guessing. maybe students as well?
Java's not really that bad if you have a decent IDE, especially now with lambdas adding functional programming capabilities in.
Fair enough. I was always suspicious of it because it was Microsoft's language, but I guess that wasn't a good reason lol
That's a perfectly fine reason, but the .NET foundation has been separated (well, legally anyway) from Microsoft for quite a while.
C# and F# are both very good. .NET core is solid and growing. I really do recommend it.
I don't use it, I use some software wrote in it, and they are awful. So that's why I hate it.
You work in science, right? My experience with scientific Java code leads me to believe it's generally written like it's C, which is terrible.
tons and tons of shops. The JVM is one of the most well engineered pieces of technology out there.
yeah but why do all of the languages written for it suck ass
edit: actually clojure is okay. but scala is reactionary no I will not explain
I fucking hate python so much. Have to work on it right now cause one of our non programmers wrote a script that needs optimizing.
whoever thought semantic whitespace was a good idea needs to be reeducated
It's great for non programmers and quick scripting with a bit more functionality then bash, but yeah. Using it in production instead of just as a tool is weird to me.
Yup, my guy wanted to produce an exe out of his python script. that took about 2 days of work to get working properly. Now i'm tracking down multiple O(n^3) loops in the code, with terrible intellisense. fucking ugh
multiple O(n^3) loops
I feel like you have to understand algo complexity to even write something that inefficient
The whole point is you intentionally make it take forever and speghetify the code so management absolutely needs you around to keep the franken script functional. Extra points if you have it run slowly by default, but have a hidden flag that bypasses the slowdowns to make you look like a wizard.
In this case, the guy who wrote it is a civil engineer, not a software engineer. So its just inexperience. Everything else about the code is actually really nice; he actually uses classes and shit, so I can easily find what i need. I have a data scientist on my team with way more programming experience and he fucking sucks.
Python is such a magical language. It lets you get away with so much shit with lists and for loops. I wonder if he did a list operation then traversed the list recursively within that operation multiple times. Something that monstrously inefficient should be pretty easy to spot at least thanks to the whitespace, just look for a block of code that looks like a chapo struggle session.
Why do programmers always shit on any language? Holy fuck what language is actually good?
"Automate the Boring Stuff With Python" for a practical introduction, or "Invent Your Own Computer Games with Python" if you're into that. Both are free to read online.
Rust by Example starts you at Hello World and goes through pretty much all the major syyntax of Rust. It's interactive too so you can just play around.
It's made for absolute beginners, you'll at least be able to understand what Rust does by the time you get to the end
There are two categories of language
Ones that people complain about
And ones that aren't used
A lot of times I feel like it’s related to the fact that we are forced to use a specific language by our bosses, who of course in this authoritarian system don’t actually care about what we want. So complaining about the specific language is often related to complaining about being forced into a system. Sometimes, it’s a petty coworker thing though.
Well the coworker thing isn’t just petty but is by design when there are like 10% forced firing rates based on “performance” per team (lowest get axed) and so like someone else’s choice to use a language you’re worse at because you like worse has real implications.
which corporation? is there some drama i've been missing out on?
word. that's what i've been telling my co workers. why do we let these random companies dictate our lives as programmers? obviously, they really don't give a fuck and just hope to do whatever it takes to work for FAANG
It’s quite an easy place for organizing, but when capitalists make your conditions comfortable enough while working 14 hours day well it makes it a lot more difficult. I think working for these big companies with the intended purpose of unionizing is amazing praxis.
He’s still part of the steering council and heavily involved, just no longer the BDFL.
yeah, the "walrus operator" (PEP 572) generated enough controversy that he got sick of it
Real big love-hate with python. Some stuff is so easy and good, but then others are just like “what the shit why would you do that?”
I learned to code a bit too long ago (got my start in QBASIC, where we code one we code all) so I still have a big soft spot for C. Glad to see it on top.
I also started with QBasic years ago as a teenager, and C is also my favourite. Though Python is great, especially for web stuff - Flask is a pleasure to use compared to the horrors that are PHP frameworks, for example.
Ever try Euphoria? I used that for a long stretch in between Basic and C. Agreed though, Python is nice and fun and I use it when I have the odd job that bash isn't suited for.
Nope, never even heard of it. Syntax looks nice, like a weird Python ancestor.
It was a lot of fun, but it was an obscure language and I don't think anyone ever used it for much.
Oh good that's the one I'm learning right now. Though I'm mostly just learning data science library APIs.
Is python the only language where the hello world code isn't fucking insane to a beginner?
i’m learning to code in java right now what should i do after that
death to java
death to python also but slightly less death than java