Let's be honest. What's the most versatile language in the current time?
Python may be comfy for small projects, but too slow for anything non-web related. Rust is literally a meme backed by sjw cucks. C lacks of OOP, which restricts the applications...
I get it OP, you have mastered none of those languages. Or any language at all, for that matter.
Versatile, you say? Boy, do I have the language for you, even though you will hate the answer: JavaScript. There is no other answer. Lua comes close.
Zachary Jenkins
Chill mate, no need to be that cocky. There is a reason if this thread is asking a question and not making a statement.
I honestly don't see how JS could be considered useful besides web development and scripting for game engines.
Levi Garcia
Ada. It's fast, stable, portable, procedural, object oriented, and the catch-errors-ASAP design makes for high productivity. It has all sorts of features that let it work well anywhere from embedded through to huge distributed projects. It can't do client side web scripting of course, unless you compile to a JVM applet, but client side web scripting is cancer anyway. It also avoids the template hell that C++ has. Really comfy.
Kevin Bell
It doesn't???
I agree, JS is actually fine, and I've also appreciated programming in Lua.
Owen Foster
It depends what you mean by versitile. Versitile could mean multi platform, most features, most simple to use, quickest to write etc.
You sound like you want features. If so take your pick from C++, Java, C#, Python or JavaScript based on your needs. All of these languages come stocked to the brim with various features that you probably don't need.
Also Python can be compiled which makes it much faster. I don't see how the political views of the developers affects the actual use of the language. C can be made OO. I disagree that it restricts the applications. OOP is not magic it just makes certain things easier. You can (not) master C++. The language is huge with a everything and the kitchen sink type mentality and it is being added to all the time.
There are many simple languages out there that excel at specific things. They can realistically be mastered relatively quickly. I suggest that you use a language suited for the task at hand rather than circle jerk about "the best one" on Swahili Lithography boards.
Lincoln Howard
stop reading here
Christian Gray
How do you master a language anyway? How do you know you have mastered it?
Easton Allen
This! There is no "best language" because what's best always depends on the requirements you have. And those requirements might not even be technical in nature; no matter how great a language is, if you cannot find anyone who knows it you will not be writing a team-based project in it.
Jonathan Carter
When you can complete a project without having to refer to the manual once
Nolan Evans
ok, so a practical step would be to not use an IDE but a text editor without auto completion instead to incentivize your brain to memorize?
Dominic Morris
**To be honest I don't think there's such thing as 'mastering' a language, just like how an artist can't 'master' a brush or a writer 'master' a pen.
Jonathan Hughes
Javascript is like c in the sense that is has a fucking intepreter for nearly every webbrowser out there. It is so simple pajeets and dindus can use it even if horribly. It runs on anything with a webbrowser so your code is as portable as someone being a normiefag can use it and not understand it.
C itself has a standard library that has been ported to nearly every proccessing architecture in exisistence. It is 'fast' being fairly close abstractions of the assembly language below it. And it just works if you don't fuck with memory management or endiness.
If your debating the 'worth' of a language by how many platforms it runs on there is your debate.
Also the right tool for the right job applies to this whole thread. sage because op is a faggot for dissing rust and c for the wrong reasons.
Christopher Flores
Then how do you get better in the most efficient way possible?
Jonathan Bailey
Better at what? Programming? Keep solving problems I guess.
Alexander Campbell
By studying and practice, just like any other skill in life.
You know that you mastered a language when you know limits and pitfalls of language and how to work around them.
Nathan Russell
How can you claim to have mastered something when you are bound by the same constraints as a novice
Alexander James
Fuck off Pajeet.
Colton Green
you've mastered a language when you know exactly what to google to get to the correct stackoverflow page in one search.
Luis Wood
This man is a master, you would do well to remember his wise words
Justin Cox
I'm legitimately curious, how does the lack of OOP restrict applications?
Aaron Brown
Every system has some constraints. If you master some technology that does not mean that constraints of that technology magically disappear.
Logan Cox
OOP maps really well to certain applications, notably GUIs and a lot of video games. You actually can do OOP in C, it just doesn't have any language features that are designed for it. You have to roll your own. It's a pain, but possible.
Luis Cox
Words of a novice, your kungfu is weak and you continue to make excuses. Get out of my sight, you disgust me.
John Jenkins
Silly JS kid, you cannot use same programming language everywhere.
Xavier Rodriguez
Your mind is as feeble as your kungfu, stop trying to taint my mind with your foolishness.
Adrian Reyes
Well, you asked for versatile, not optimal. JS is only optimal for client side web development, but thing is, it is powerful enough to do pretty much everything but low level hardware fuckery or extremely tight time critical loops. It can do pretty much everything, and it can do it alright. It's not even a bad scripting language per se when you get used to its quirks and go balls to the wall with its powerful closures and hashmaps.
If you are finding the most optimal language, then give up, because that may only be considered judging on a project by project basis.
Jaxon Collins
nigger you're just listing things EVERY general purpose language can do. Versitile just means it's not super specific like R or Matlab. Though I'm sure so me sick freak has made a web framework in those, too.
Carter Martin
C/C++ is prolly the most versatile for software dev Java is prolly best for mobile apps because muh androyd
Lua and Rust are meme languages, both will be gone in 5 years
good luck with that. most people who code at all like to say that "HTML is easy", but back when I was in college ~15 years ago, the complete O'Really HTML reference book was big and about 650 pages thick. only a true autist could reasonably claim to master any coding language.... or HTML...
-------
Consider the following: before Windows, the dominant language to know for getting hired was Cobol, since there were more business computers than any other type, and they usually ran Cobol after Windows arrived, the dominant language became C/C++, because you couldn't use all the functionality of Windows without using C++ there's the niche languages like ada and fortran and so on, but for job marketability, C/C++ and cobol are the main two asked for, for a looooooong time and some want Java too, for mobile app work now
when you look in the want ads, what do you see? where I am most jobs (from local & non-web companies) want C/C++, MS Windows, MS Office back-end and databases, databases, databases almost no jobs ask for anything Linux-related
Ian Hill
Lisp; Common Lisp or Racket
Alexander Lewis
Are you aware that Lua is more than two decades old?
Landon Jackson
Mostly C#, PHP and Ruby (on Rails).
Henry Hernandez
Javascript. Why? Employment.
Brandon Watson
You said that as if you could run Ruby on a web browser. Well, you technically can, but it won't be alright; it will be either extremely specific, or abysmal. That's the point: people are preparing JS to be the ultimate jack of all trades master of one language, and it won't be outstanding, nor it will be terrible. It will be alright.
Leo Lee
dayumm i must have mastered 10-20 languages then. in all seriousness, nobody truly mastered any modern PL, not even something like Java, which goes to hell once you try and understand its type inference (yes it has this, contrary to popular discussion), capture conversion, bounds, and other bullshit that pops up when you mix subtyping with generics, and the Java Memory Model
Kevin Adams
this could be. my point here is,,,,,, to look in your local job adverts to see what to learn to get hired. just because Rust is kewl this year in silicone valley don't mean shit anywhere else
doesn't matter who uses it? and for what reason? when you choose to use a niche language for any business use, you automatically greatly reduce the applicant pool you will get how many jobs ask for someone who can read and write sanskrit?
Hunter Martin
It's a fairly small language that can easily be linked into C code, and that is approachable for non-programmers. Among other things, it's used by Minetest, nmap, the NetBSD kernel, nginx, awesomewm, World of Warcraft, and Adobe Photoshop Lightroom. I've also played a few stand-alone games that were made with it using Love2D, and I've embedded it into one of my own projects when I needed a safe way to execute user-supplied code. Lua has carved out a good niche as an embedded scripting language, which is what it's designed for, which you would know if you knew anything about Lua. You're not arguing about the viability of languages you know nothing about, are you? That would be bad.
Logan James
Mastering C and C++ is basically memorizing a list of undefined behavior rules and extremely bad and nonsensical syntax. If you do not know all of these things, you are not a master of C.
Did you know "long int long signed" is another way to write "long long signed int" in C? There are a lot of ways to write this one type.
long long signed long long, long signed long, long long signed int long long, long int long, long long int signed int long long, long signed long int, ...
There are more ways to write this one type than there are standard basic types in C.
You can't use it in a typedef. >test.c:2:19: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘llint’
C and C++ are full of weird and useless crap like this.
Caleb Sanders
Which is why they should have been retired.
Connor Gutierrez
Rustfag detected.
Joshua Williams
You can have flexibility without weird useless crap, y'know.
Julian Davis
pathetic
Anthony Richardson
It's like you don't even want to divorce the mathematical power of computation from the abstractions of your hardware. Open your mind, learn FRACTRAN. $ cat prime.fractran 17/9178/8519/5123/3829/3377/2995/2377/191/1711/1313/1115/1415/255/1$ ./fractran prime.fractran 2 | grep '2^[^ ]*$'4 = 2^28 = 2^332 = 2^5128 = 2^72048 = 2^118192 = 2^13131072 = 2^17524288 = 2^198388608 = 2^23536870912 = 2^292147483648 = 2^31
Christopher Brown
Probably Rust, but Java is a good start for beginners as well. :)
Landon Price
funny how much Holla Forums claims to know about technology when they actually know nothing I recommend the best-seller book on soldering processors and clocks by Ahmed
Ian Torres
o-o-o-off to t-the c-c-c-chambers you g-go!!
Jace Carter
No, you're going in the wrong direction. By making your own processor you're reinventing the wheel, not releasing yourself from it. A FRACTRAN program is a pure mathematical function with a simple description. It is not bound to any particular mode of execution, and is easy to reason about formally, even if restricting yourself to Pythagorean mathematics. An implementation of FRACTRAN as a programming language is just a way to inspect the functions and explore them. It's a purity Haskell programmers can only dream of. This is a description of FRACTRAN: - Take a number n and a list r of rational numbers r₁ through rₘ - set n to be n * rᵢ where i is the lowest number so that n * rᵢ is a natural number - if i does not exist, stop - otherwise, yield n and repeat It is Turing-complete. Pure computation.
Eli Robinson
polniggers bls go
b8
Joseph Lewis
perl
Levi Butler
< not realizing OOP is cancer
Justin King
It isn't about how many ads but, rather the ratio of ads to job seekers.
For example, there are probably still more COBOL jobs then there are Elm jobs out there but, you have a better chance of getting an Elm job because:
The comparison hold between any two languages where one is significantly older than the other.
Kayden Sanders
...
Asher Rodriguez
i don't think so buddy
Aiden Carter
OOP simplifies tasks because tasks can be contained into self contained objects. These objects live in a world of their own and are not supposed to interact through any means apart from well defined interfaces.
Brody Perez
lmfao
Zachary Nelson
Strong arguments, uh? You must be really good at debates.
Liam Russell
You are confusing the word object as humans understand it and the word object as OOP understands it. There's nothing object-like about OOP. Read these two actions out and you'll understand what I mean
Julian Stewart
Without a doubt, the most versatile language is the Nim programming language. Nim is a new (< 10 years old) systems programming language developed by Andreas Rumpf and a few other folks in their spare time. What sets The Nim Programming Language apart from others is that Nim gives you the best of all worlds and the worst of none. Nim gives you:
- Optional Garbage collection - C and Javascript compiler targets - Pythonic ident-delimited blocks - Templates, generics, and all of that other lovely stuff - REAL Macros instead of C/C++ dogshit preprocessor directives - Support for procedural, OOP, and even a bit of functional stuff if you're so inclined. - Sane compiler messages
The only issue is that Nim has a small community. You can help remedy this situation. Become a Nim Programming Language evangelist and spread the good news today!
Easton Scott
Any reasonable person would choose to encapsulate functionality by using the module or package facilities that are provided by the language. 30 years from now, when people are once again programming applications in procedural C-style languages, people will look in bafflement on the era from 1990 to 2005 where university students were taught that putting ALL code inside Class statements was the only way to program anything.
Well, I can't help you if you want to make classes to represent Enums, classes to represent types, classes to represent fucking boolean values. That's just insanity. It serves no practical purpose.
Brody Morales
...
Henry Rodriguez
I don't think I've seen an argument against Rust here that didn't end up being just "SJW" "cucks", "weird syntax", and "too strict".
Cameron Johnson
The only arguments I've seen giving props to rust were: "politics doesnt matter" and "its (((secure)))", which means it has no particular use or advantage over other languages
Brayden Adams
You know javascript transpilers are a thing right?
Jacob Jackson
how about the offical reason why Rust even exists: It's supposed to be faster than GC'd languages, yet memory-safe.
Mason Williams
20 ways to write a single type where the compiler writer chooses the range and what happens on overflow is not flexibility. Choosing the range and overflow behavior yourself is flexibility.
Christian King
Because Ada was named after a female programmer and they only accept effeminate bay area nu-males.
Connor Martin
what CPU can you name is OO? protip: there are none
What you are finding "easy" is the relative size of pre-existing libraries but actually trying to stick to your retarded OO principles leads to spaghetti.
I would even say Lua is better than Javascript, since it combines it's arrays into all it's other types, and most Lua code you find tends to be good quality, which you can't say about Javascript.
The only thing I don't like are the 1-indexed arrays, otherwise it's my ideal language.
Angel Harris
Who cares about an OO CPU? That's a red herring, it's irrelevant to anything. OO design is about software architecture. It's intended for programmers to read then for computers to compute.
You're confused here. We use the OO paradigm to design systems that are easily modeled in this manner. Businesses like OO paradigm because it was marketed as a way for programmers to write reusable and composible code. Universities teach it because students are demanding universities teach what businesses demand in graduates. If I had my way, I'd be demanding classes with programming in either Python, Scheme or C for any classes that are not language and compiler theory.
It is not the OO paradigm's fault if people fail to apply judgement to wrap the most fundamental of data, boolean values, into classes.
Zachary Walker
Top Kek. Found its destiny as an unattached boat anchor, more or less fits OO.
Holy fuck you know nothing Jon Snow. You really bought the paradigm that language and hardware can be abstracted. This coming someone who claims Python is slow? Why is slow Jon Snow? Abstraction Maybe?
Holy fuck got back to JS.
Jeremiah Miller
"Programs must be written for people to read, and only incidentally for machines to execute." - some hipster Javascript and Java programmer
Joshua Hill
Yes, let's use a language that doesn't even have an integer type.
Alexander Cooper
int = number|0
Blake Price
JS only has floats, LARP boy.
Anthony Thomas
By ORing the number with zero he is giving the compiler the hint that it's safe to store the result as an integer. This is the sort of autistic trickery used to make emscripten work.
Anthony Martinez
That's a hack to trick the engine into representing the "Number" type as an integer internally. No one is going to do "| 0" in actual code. I want an integral type that does integral division. You have to do this sort of stupid thing because the Javascript language was a hackjob from Day One. And because we need to preserve backwards compatability, Javascript is always going to be hacky or at the very best, a complicated mess like Typescript.
In my opinion, Dart or Haxe are much better examples of an ECMAscripty-style language that is usable for building applications.
David Butler
no thanks
Carter Turner
this thread is pure cancer. you are all just autistically larping about programming languages. great thread. i really enjoyed reading through it and i hope we would have more threads like these. maybe we should bring back browser threads where we cirklejerk about muh botnet and muh sjw and muh bloat. god i really miss those threads.
Christopher Scott
your post is dogshit
Kayden Gomez
There actually are some good posts that bring good points.
Christopher Ortiz
Hello OP.
Parker Murphy
Doesn't |0 work because of type "cohercion" fuckery? Even though |0 is a no-op, it must cast the number to an integer to safely OR them, because code including floating point bitwise ops is usually batshit insane.
Kayden Sullivan
C. Elegance is versatility.
Landon Ortiz
C is neither elegant nor versatile. It's alright for a research language from half a century ago, I guess.
Ethan Williams
C. It runs on anything, can do anything, inter-operates with anything, and code nearly 50 years old still compiles. People will still be writing in it long after you're dead. The highly skilled choose it every time.
Xavier Hill
How do I replace sympy by C?
Benjamin Sullivan
mandarin chinese.
Kayden Roberts
...
Aaron Bell
And Unix is the most successful operating system. Unix is absolutely a research operating system in origin. And it shows. C was created for Unix. Unix is ingrained in C, and vice versa. But whether it's a research language or not, I'm pretty sure it was just in the right place at the right time. Can you tell me something especially innovative or powerful C introduced?
Wyatt Scott
Several hundred million people use a shitty knockoff of the Imperial measurement system but all they've achieved for doing so is a crater on another planet.
Tyler Williams
I don't get what you mean. sympy and numpy exist primarily because of python's type system shadowing native types and libraries like gnump. At a language level, you don't need a replacement to something that was already acting as a replacement.
Cameron Johnson
C is not the most powerful language. It's a simple language.
Jeremiah Carter
Working the way the machine does rather some touchy feely human-first shit. That allowed it to replace reams of assembly and for all software to be written in it. Compare that to fortran and lisp. Could UNIX have been implemented in lisp back then when a gc pass could take 30 minutes?
Luis Stewart
see
Alexander Williams
The Unix-Haters' Handbook should be required reading in every computer programming class because it shows that UNIX was bad for its time and didn't introduce the things UNIX fans say it did. All of the great OS design innovations in security, user-friendliness, programmer friendliness, and efficiency have been pushed away by the inferior UNIX design because UNIX had open source code. They taught bad design and stupid hacks to students as the "right way" because it was free. simson.net/ref/ugh.pdf
C is not powerful, but they are useful because they run everywhere because they were created by people who wanted them to run everywhere. Java, JavaScript and Perl running everywhere were also intentional. Classic Visual Basic only ran on Windows because Microsoft wasn't interested in having it run everywhere. This is what they mean by UNIX and C being viruses. They did not spread because they were good, but because they were bad, and this badness gave people
That's disrespectful to the creators of real research operating systems. Real operating system researchers wanted their work to be more stable, more secure, faster, easier to program, and easier to use than existing systems, and UNIX did none of these things. MULTICS was a real research operating system, and compared to it, UNIX research didn't really do much and wasn't even a "step back" but was crap for any era because professionals wouldn't want to use software full of buffer overflows and nobody would buy the OS because it sucked or fund the research because it was worse than what was already available. So I guess it was research in how bad an operating system can be without getting them fired from Bell Labs.
C didn't introduce anything new (even the null-terminated string was not a C innovation) and is significantly less powerful than other programming languages from the same time period. What it did introduce was an ideology of hatred for anything that makes easier or higher quality programs. xahlee.info/UnixResource_dir/writ/language_to_hate.html
William Rodriguez
jesus christ kid, go be dumb somewhere else
Jack Nelson
*this badness gave people an incentive to improve them.