You are not logged in.
A very weird question, I know.
Me: Python and Dart.
I messed my Arch Linux installation, then fixed it
"Sometimes the best complexity is simplicity." - BluePy, 1856.
Offline
What windmill am I tilting at today? Bare metal embedded microcontrollers? Console application? Web service? Could be Python. Could be C. Could be Rust or Go. Could be Javascript.
Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
Sometimes it is the people no one can imagine anything of who do the things no one can imagine. -- Alan Turing
---
How to Ask Questions the Smart Way
Offline
It's not a weird question at all. In fact it's quite common. But that doesn't mean it is a good / wise question.
This is a bit like asking a mechanic what his favorite tool is. They might have an answer particularly if they just got a new tool. But the fact that they're currently enamoured with their shiny new impact wrench doesn't mean you should go out an buy one - especially if you aren't already equipped and skilled with a bunch of other tools.
This question tends to be asked by those early in their programming journey. And heeding the answers received tends to only impede that journey.
Figure out what you want to make, then figure out what programming language is well suited to that task and reasonably comfortable for you. Then start coding.
Now if you'd like to hear which languages are my least favorite, I could definitely name a few. But I suspect this thread will turn into everyone just listing what's "popular" and at that point you'll pretty much have my list of least favorite languages.
Following from this metaphor, my favorite programming language is my feet. More literally then, my favorite programming language is logical reasoning. It has countless dialects, each one used in different areas, but all the same language.
EDIT: also if you didn't mean this thread to be for your own learning purposes, but rather a poll to see what is popular, then it should be in the "Try This" subforum ... except that there already is such a poll there: https://bbs.archlinux.org/viewtopic.php?id=164158
Last edited by Trilby (2024-10-25 15:35:15)
"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman
Offline
You might find the stats in the links below interesting.
An answer could be, the right language for the job :-)
But something I use everyday is bash, sed and awk, and more python everyday.
After that java, c. Although pascal holds a place :-)
On the other end of the stick, as a user and not a dev, I have found alternatives to applications because of the language they were written in.
Last edited by mountaintrek (2024-10-25 20:02:11)
Offline
But something I use everyday is bash, sed and awk, and more python everyday.
You use awk everyday? I'd never place it anywhere near the same pedestal as bash, sed, or python. I haven't used awk in the last 20 years and even before that it was rare.
Offline
The best programming language is whatever one you became familiar with first. All the others are too complicated. Obviously.
(I've noticed that, in programming discussions, "simple" often means "similar to what I know" and "complicated" means "different from what I know".)
Also, awk is one of those languages where I have to read the documentation every time I use it. I have to ask, mountaintrek (or anyone): What are you using awk for? I rarely ever have a use for it.
"Don't comment bad code - rewrite it." - The Elements of Programming Style (1978), Brian W. Kernighan & P. J. Plauger, p. 144.
Offline
Awk's strength is in working with tabular data files or log files in which each line at least starts with a predictable structure (like pacman logs and journal entries).
Last edited by Trilby (2024-10-26 13:03:24)
"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman
Offline
Adding to Trilby's response. gawk is great when you have defined single or multi-line records. Bash may be able to do it, but gawk was made for text processing and can do it in a less verbose way because it has implicit read, more sophisticated field separator, special variables, built-in functions, floating-point arithmetic, and multidimensional arrays to name a few. I also use awk within a bash script.
The GNU AWK is a good source.
The best programming language is whatever one you became familiar with first.
Um, Cobol, Fortran. and PL/I :-)
Offline
Some part of the question I usually respond like this:
Since I "work" with this, I don't have a favorite one because the most wise thing that you can do is to use the right tool for the right job. In this case programming languages a simple example: I need a fast response application so please don't use python (Unless you are a cython kind of guy among other dark magic stuff). And also probabbly most of the time the stakeholders doesn't want to spend money to rewrite the service in another language, so you could get forced to write in a language that you think is not the best for the context. That's life, so for that I don't have a favorite one.
But outside job I really like many ones. The only language that makes me feel like meh (Not angry kids), is Java. Maybe I'm a little Torvalds to my things or maybe not. But Java is not my jam. I don't hate it but usally is the kind of language that comes with: why not this another languages to do that ? So my answer is everything except java, I feel like I'm working with a bad dinasour intead of C which is a more older one but more lovely.
Long story short:
C: Saltasaurus with Jurassic park music in the background.
Java: Old grumpy Stegosaurs trying to avoid fat using Ozempic[Oh god how a i hate the names used in the libraries of java] and addicted to heroin.
Last edited by Succulent of your garden (2024-10-29 14:04:49)
Offline
I need a fast response application so please don't use python
That is a (partial) misconception. Interpreted python is never going to be fast, but one of python's strengths is that many of the commonly used components have been compiled and optimized to high-heaven. As long as the rate limiting steps are offloaded to those optimized bits, having the glue code in python is harmless to performance. A good example would be computationally intense projects written in python but (properly) using NumPy or a similar library - this can result in great performance far better than one would get from coding the algorithm from scratch in C themselves in most cases.
... the most wise thing that you can do is to use the right tool for the right job... But Java is not my jam.
Accepting that the best tool for the job depends on the job does not imply that every tool has a job it is good for. It is quite possible that Java sucks at everything. That's my view at least. It seems the only application for which Java is really suited is for introductory programming classes - though I'd argue its quite poorly suited for that too! It's like faculty new they'd have to start students with some language, and each language has it's strengths and weaknesses: to avoid biasing students thinking to certain kinds of tasks, they picked the language that has no strengths. I'd say students may as well start learning a language that is at least good for something even if the focus is not on the language but on algorithms and logical thinking.
Python's structure (i.e., use of whitespace) has never sat well with me, so I don't love it, I do think python is a great language for students to start on. It's at least as easy to get into as Java, and can actually be useful in many contexts.
In my experience people can drink java while coding, or code in java while drinking: because nobody would deal with that language while sober.
"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman
Offline
Hi Trilby
The optimization is sooooo true, best example the machine learning libraries and numpy as you said. I think that the only issue may be the single thread use by default in python. So if you have a project with a lot or paralalization maybe you can use the cython thing or consider another language. For that i never consider python a bad language, just people don't knowing it well enough, or lazy people that use python becuase is only easier to other languages.
Java has the thing about everything is in a virtual machine, maybe in the 90 and 2000 was a "good" thing in some certain contexts for security reasons [It seems like this programming language was concived by the idea: Hi please don't use C because of buffer overflows, use Java if you want to be secure], but now languages like Rust or Python solve the issue in a more convinient way.
I think the only real Java lover person that can I imagine, are game developers that like full opensource and use godot, instead of things like unreal or unity. Never been into that too much, it's not my thing, but maybe there are some happy people that code with java in godot and are fine, and probably not sober.
Last edited by Succulent of your garden (2024-10-29 17:11:56)
Offline
Java before Java 21 be like: Write once, run debug everywhere.
I messed my Arch Linux installation, then fixed it
"Sometimes the best complexity is simplicity." - BluePy, 1856.
Offline
For me, it's C++. Maybe it's simply because I know more about it than other languages. I know little about other languages. Btw, if Python makes the codes simpler or shorter, Python will also be a choice.
Last edited by Sving1024 (Yesterday 13:43:23)
Offline