☝ this is why Linux will never be mainstream
FizzyOrange
Yeah that sounds very unlikely to me. I guess the definition of "open source maintainer" and "unpaid" are wide open. Does it count if a company pays your salary and you are allowed to do the open source stuff as part of your job? How popular does your project have to be before you are an "open source maintainer"?
There’s no value for the higher ups in fixing it
Well there is, it's just long term value that they don't even understand.
Really you should just make fixing technical debt part of your regular job. Don't ask for permission, just do it. (Except for really big things obviously.)
For Python PyQt is the obvious choice. For Rust there isn't really a mature option yet. Egui is decent, but it's immediate mode which isn't to everyone's taste. Dioxus is pretty popular too but I haven't used it.
No idea for Java. Is Swing still the standard?
What language are your apps written in? Generally the best options are:
- Qt (C++) or PyQt (Python wrapper if you hate yourself). Old school desktop GUI. Works extremely well though.
- Web based, then you can pick from a gazillion frameworks, most popular is React. You generally have a Typescript based frontend and a backend in whatever language you want. The downside is you have to deal with the frontend/backend communication which can be a pain.
There's also Flutter which is pretty nice, but again you have to use Dart for the GUI so if the rest of your app is in another language you'll have some friction.
But yeah, I would say the language you want to write your "business logic" in is the biggest factor to choosing. Also if you care about exposing your app over the web.
Definitely agree with tech debt. Seems like nobody except me cares about improving things, which is surprising given this survey!
Also definitely agree about reliability of tools/systems, but again it feels like it's just me that cares about robustness - everyone else is very happy to churn out hacky Bash scripts, dynamically typed Python and regexes with abandon.
Either you're all a bunch of hypocrites or the SO survey is quite a biased sample!
I would probably recommend not trying to understand the whole field of programming initially. It's huge, you won't understand what the terms mean (e.g. OOP, functional programming, etc.) and it's not very motivational.
Instead I would pick one or two popular languages to learn and actually make something in. The no-brainers are Python and Typescript. They're hugely popular, not difficult, and let you get a lot done.
I think I would consider learning both at the same time. If not, at least don't stick with Python too long. It is immensely popular but also has a lot of brain dead design decisions. Especially a) it's reaaaally slow, you easily get a 50x speed up just by switching language, and b) the "infrastructure" around it - installing Python, adding libraries etc. is completely awful. There are attempts to fix that but they're nascent.
Above all I think a good thing to have is a realistic goal of something to make. For Typescript the obvious thing is a web site. I really like this way of making web sites - you can get started with literally 2 command - but it may be a little too much for a beginner.
For Python I would look into some kind of automation or maybe web scraping thing. It's decent at that.
Or if you have more specific project ideas you could use the most appropriate language for those, e.g. a microcontroller project you probably want to start with Arduino (C++). C++ was my first language (apart from QBasic which doesn't count). Probably not for everyone though. I was very young and had free time.
lol imagine...
C++ is technically safe if you follow best practices
Yeah but it's virtually impossible to reliably follow best practices. The compiler won't tell you when you're invoking UB and there is a lot of potential UB in C++.
So in practice it is not at all safe.
You seem to have the idea that there are "people who want RT" and they'll overcome any inconvenience to get it, therefore making RT more convenient to use won't increase use of it.
Clearly nonsense, and I think the GPS analogy is a good one. My mum isn't "a person who wants GPS" and she would never have bought a GPS device in the 00s, but she uses one now because it's conveniently already available in her phone.
Very cool. To be honest most of these languages (except maybe Lisp and BASIC) are pretty awful. I can't imagine writing anything in them. Especially K. That's got to result from some form of brain damage...
It’s only 7 bytes of code. !10 returns a list of numbers 0 to 9. 1+!10 adds 1 to each of them resulting in a list [1, 2, …, 10]. Finally /1+!10 applies * verb with scan adverb and returns 123...*10 which is a factorial of 10.
But it processes arrays of numbers in such an elegant way what no other language can compete with it (well, maybe numpy).
Uhm yeah or maybe MATLAB? I mean I mainly like MATLAB because of its unbeatable plotting abilities, but even MATLAB can do prod(1:10)
. I am very happy to spend 3 extra bytes on that readability improvement!
This is really terrible advice. Sometimes it's better to do that, but definitely not in the example from this article.
If anyone says you should always prefer polymorphism to switches they are a bloody idiot.