dusts off a commodore 64 well time to make my own chatgpt
Programmer Humor
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
don't blame me i voted for turbo pascal
I loved turbo pascal. Anyone using that FOSS delphi equivalent thing?
I am lobbing rocks at you because of that admission.
Ikr. Python does kinda suck as a language.
Every old timer knows AI is supposed to be written in Prolog.
Love a language that doesn't care if you're using inputs to get outputs or using outputs to get inputs
One of the guys who taught me Prolog wrote the book: https://www.inf.fu-berlin.de/lehre/SS09/KI/folien/merritt.pdf
But there is one other, probably even more important advantage: Prolog is a programmer's and software engineer's dream. It is compact, highly readable, and arguably the "most structured" language of them all. Not only has it done away with virtually all control flow statements, but even explicit variable assignment too! These virtues are certainly reason enough to base not only systems but textbooks on this language.
The 90s certainly were a different time...
I highly recommend learning the language. You learn to think about problems from an entirely different perspective, effectively working backwards from the solution, and once you wrap your head around it, it becomes the clear choice for certain applications such as expert systems.
That book opening image is indeed telling
Is Python not considered to be any good?
One tremendous strength of Python no one has mentioned is its vast ecosystem of high quality packages. It's not just the language features that speed up development, that ecosystem makes a huge difference.
Another (far more subjective) advantage is readability - when written according to Python's (actually quite opinionated!) style guidelines and general software engineering best practices, Python is also extremely readable, which really facilitates teamwork. My software shop has transitioned to using Python for most things these days for that reason, away from JS, after seeing my work and code reviews, FWIW.
I'm not some wizardly dev, to be clear, but I'm this shop's first senior dev specializing in Python. I write deliberately clean and readable Python and folks are really enjoying it - enough to voluntarily switch.
Performance is always listed as a Python drawback, and it's not untrue, it's just so overblown as a problem. It basically never causes me issues. Crucially, saving dev time is almost always the better choice compared to saving compute cycles. And I'd take that farther and say anyone junior enough to be wondering about Python and performance...is almost certainly working on tasks that Python is well suited to - better suited, than most other languages.
(Hopefully this was not too controversial, but I accept the risk of a flame war, as is tradition lol)
Edit: clarity
Very good explanation, thank you.
Cheers friend!
As far as I know many Python libraries which need performance are mainly written in C++
Python is phenomenal for prototyping IMO.
Once you need performance, its best to use another language (even partially).
But quickly banging out a concept, to me, is the big win for python.
But quickly banging out a concept, to me, is the big win for python.
For me the best language for quickly banging out a concept has always been the one I'm most familiar with at the moment.
Once you need performance
If you need more performance. Many things just don't.
Python is the tradeoff between ease of development and performance. If you do things the "normal" way (aka no cython) your programs will oftentimes severely underperform when compared with something written in a relatively lower-level language. Even Java outperforms it.
But, you can shit out a program in no time. Or so I've been told. Python is pretty far from the things I'm interested in programming so I haven't touched it much.
Python is great, but it's so forgiving that it's easy to write garbage code if you're not very proficient and don't use the right tools with it.
The only objectively bad (major) thing against it is speed. Not that it matters much for most applications though, especially considering that most number crunching tasks will use libraries that have critical path written in a systems language:
numpy, pandas, polars, scikit-learn, pytorch, tf, spacy; all of them use another language to do the cpu intensive tasks, so it really doesn't matter much that you're using python at the surface.
...It's okay. I've programmed in far far worse languages. ...It's got its advantages. It's got it's problems. 🤷🏻♀️
Edit: If you need a serious answer: Much like BASIC, it's a language often used in teaching programming. In that sense, I guess it's much better than BASIC. You can, like, actually use it on real world applications. If you're using BASIC for real world applications in this day and age something has gone really wrong.
:/
If you're using BASIC for real world applications in this day and age something has gone really wrong.
Visual Basic is essentially the same as C# if they’re both working with the .NET framework, if I recall correctly.
But yes.
It's okay, but it's a bit slow and dynamic typing in general isn't that great IMO.
It doesn't have dynamic typing FFS, variable are typed. You mean declarations.
You can't have statically typed objects, because they are of indeterminate length.
it is a dynamically typed language, but it's not a weakly typed language.
Dynamic typing is shit. But type annotation plus CI checkers can give you the same benefits in most cases.
good is subjective to the opinions of the group.
objectively, Python is a smoldering pile of trash waiting to completely ignite. it does have one thing going for it though.
it's not JavaScript.
It's certainly not very fast
Python itself might not be, but all the AI shit runs on GPUs so it's CUDA or OpenCL or whatever underneath
I have this one! Probably at my folks' place, definitely I'll put it behind my chair so people can see it during video calls.