Option is isomorphic to Result, i. e. when failure has only one state (unit type it is). So, get operation on some collection, for example, by index have the return type of either T, the data, or failure, when the data is not present by that index. This can be represented by Result or, more idiomatic, by Option. So Option not only can indicate "absence" of data T, but the result of an operation, that can succeed or fail, and the caller have all of the context for that failure.
@sicikh for semantics you use Result, but if your function may fail and there is no way to get a display of the error your code is impossible to debug, check thiserror library.
I started out with c++ but gradually started using c# more and more simply because of how many pre-made functions there are also nuget. But yeah I also pretty much just program to solve problems. I don't really care about programing, only art
If Cobol is a boomer that committed war crimes, JavaScript is a millennial that, when pointed out that his negligence resulted in war crimes being committed, answers "ahhh, eto, bleeeh 😅"
JavaScript is a neglectful parent who doesn't realize his lack of engagement with his child led to the creation of the most horrible and abominable code cases and behaviour imaginable. baNaNa
Uml diagrams were my second lab during the 1st semester on SE. We had to code a Pokémon’s battle and then make a UML diagram of our project. That shit should be illegal or at least doing them by your hands in some shitty website. After that I’ve never used them again, thx idea
WRONG! When you code in assembly your brain turns into Roller Coaster Tycoon. Props if anyone gets the reference. You also become schizophrenic, smoke a pack of cigarettes a day, and code an entire operating system from scratch in 64-bits.
3:03 "what's meant to be a scripting language taking on simple and trivial tasks quickly stepped out of bound taking on complicated tasks that should be more optimized than what they currently are" this also could be said about javascript tbh
@@Alche_mist That's not even a hot take. If you don't have plans to become a programmer and just want to get shit done, Python is objectively better, because someone has probably already solved your sh*t for you and you just need to "import soln; soln.run()" and you're good to go.
Kinda comes back to the “knowing its place” thing. I like Python, but seeing it shoe-horned into all kinds of places it doesn’t belong because some Python evangelist insisted gets old fast.
If you code in python it means either you're doing something simple that's just slightly too complicated to be a bash script or you work for a company/organization that was too cheap to pay for a MATLAB license. I code in either C or matlab with nothing in between except when I'm forced to and its python.
@@DantevanGemert Well, to be fair to MATLAB, it isn't intended as a programming language, it is intended as an engineering tool. It would be like complaining about Maple or Mathematica. :)
It entirely depends. I know a shit ton of people, both in academia and in data analytics or AI that just don't like matlab/octave over python. Both programmers and non-programmers alike. Programmers want to use a programming language, and non-programmers want something accessible and generally versatile. Specifically those non-programmers tend to get their knowledge from postgrad CSE programs that generally won't teach Matlab. Python is accessible, easy to learn, and is not limited in its capabilities for Matlab work. So unless you're locked-in due to your company or research partners, or need something more domain specific and integrated like Simulink, there's no reason not to use Python.
Python + Numpy is just as good as Matlab for many usecases, and certain fields (machine learning in particular) have much more ressources in Python compared to Matlab.
@neromule For machine learning stuff yeah there is a lot of coverage by Python, machine learning and IT arent the total of computer work though, thinking things like finite element analysis, thermal analysis, structural analysis, fluid process stuff, that kind of thing has a lot of representation in Matlab in industry but isn't common in Python. And of course Matlab has libraries to interface with all manner of commercial DAQs and measurement equipment, so there is almost no getting around it in some cases. Personally while I like Python, I think it is a lot like Excel spreadsheets where it is treated like a hammer looking for nails and is often applied inappropriately.
As good C++ dev, if you thought pointers were hard, you are not ready for template programming ^^' Also, most use case of pointers in C are very simple array indexing : pointer[index], there are only few use cases of more complex arithmetic.
I think python is extremely powerful for a lot of usecases actually, if you know how to use numpy, and if you're just a skilled programmer who knows about basic optimizations, python can be SO powerful, there's a reason it's used in so much places
Numpy, Numba, and Dask make Python much better. Python 4 is getting rid of the GIL to allow for native parallelism. Maybe you can make it get it to work efficiently enough to make money to rewrite the app in a faster lang.
Typescript is the Javascript version of the “This is fine” meme. It’s the equivalent of sticking your head in the sand and pretending that as long as you don’t see all the JS ugliness your code transpiles into it doesn’t affect you. Typescript is like some legal department at a large faceless company that hates its customers and employees came up with a super legal and not sneaky way at all to say “I’m not actually programming in JS” in order to try to avoid the liability.
Python doesn't know its place but javascript does??? Backend js frameworks and Electron apps are litteraly everywhere now, even in performance-critical applications. At least Python fully embraces the fact it's a scripting language in terms of syntax and concepts, and also that heavy-duty parts of the code are actually supposed to be implemented in C.
Honestly, I just can't with people rating C over C++. Yes it's the OG blabla but C++ is just better than C in most of all matters outside simplicity. If you like C a lot, take C++, write mostly C and add just the few features you like from C++. Examples of features you might want : namespaces, templates, being able to implement defer statements, better static dispatch, no need to typedef structs, lambda functions, parts of the C++ standard library, enum class, a few OOP constructs that are just good such as lock_guard for mutex, std::variant instead of unions, just attaching a function to a struct, auto keyword... You will still be able to write your C-ish code, you can still interop with C in both ways. C++ is a giant toolbox, you can find whatever feats your boat and use just that.
Everytime someone recommends C++ they always miss literally the main point why people avoid it -- it's hard to control what features the whole organisation might use. I've done work in embedded, and it's important you keep the language simple so the codegen is predictable. Sure, you can do that in C++ (and I'd honestly like some C++ features like methods on structs). But once you introduce C++, you've opened Pandora's box and people will inevitably try to be clever. You can't really fight in code review all the time (afterall, why did you even allow C++ if you want us to use it like C?), it hampers productivity. So, in essence, C is used, because it's a compile-time check that you don't write C++. Now, you get to restrict the domain of C++ you want to work in, and compiler will check it for you.
My inital thoughts: Fortran: "Don't touch that. It works." Lisp: "What do you mean 'machine'? Lisp works in the realm of Platonic Forms, right?" Ada: You have a security clearance, you're into bondage, and are entirely honest about that in your yearly polygraph. Basic: What you used to make a prime number generator on the Vic-20 on display at the K-Mart while your parents were shopping for coats and pastrami. Good Times. Nobody lets you code on store display machines anymore.
Java being slow is actually a misconception, most JVM implementations area actually really fast and depending on the workload you aren't too far off from C++. There are even implementations of Java's compiler than can compile down to native code. C# is actually comparatively much slower than Java, even when comparing some sort of C# to native compiler with Java's equivalent. It's a shame because C# has waaaaaaaaaaaaaaay nicer syntax and language features. Though Java has been adding some nice new features to catch up... but so has C# soooooooo...
Agreed on most points. But I'd rather have some stable Java syntax and stable library than having to update .NET every year and dealing with Breaking Changes they introduce every now and then. Things were simpler when we had only .NET Framework 4.5, even though it wasn't cross-platform. At least it could be depended upon.
The problem with Java (and C#) is that it forces you to do heap allocations, and virtual function calls. Therefore, it is slower than C (function pointers), C++ (inheritance, type erasure), or Rust (traits). You can do vtables in C, C++, or Rust, but it is opt-in.
@@milasudril It's not a problem if you sign for heap allocations. It's a trade-off by design, these languages have different application areas. Like C is mostly for low level stuff nowadays, like writing operating systems, kernel modules, drivers, embedded stuff. Yes you can use it for anything, but the cost will be less productivity, lack of abstractions when the project becomes to big to maintain by a small team or even one person, not to mention dealing with memory. With Rust you get memory safety but with some productivity loss, because you'd have to design it that way so compiler is happy with lifetimes of all variables, probably will require to refactor more often, but the result is same performance and a better abstraction than C. C++ provides OOP which is a fine abstraction for many things like video games, and there is sufficient safe memory management things in the recent standards. Languages like Java and C# are good for those occasions where heap allocations and garbage collection is not critical, like server applications. And they provide better productivity, which is good for many businesses, also maintaining such code is much easier than those of C/C++, Rust. Besides, in any language with GC you can avoid heap allocations when you need to (it's good for video games), just as long as you manage your code the way that you create objects in the initialization place and avoid allocating them in critical places like rendering, also in Java you can choose garbage collector algorithm. Yes, these languages are not good for Real Time use for obvious reasons. But that's the point, you choose an instrument for your task. You don't just use C or Rust for everything.
assembly! you program your own entire environment around yourself, crafting every abstraction from absolute scratch, but able to compose and cross fundamental language infrastructure and runtime at will. i *literally* have booklets around me of scrawled out masses of notes for reading and writing x86 machine code in octal, a holy prep so that one day i may sit down before an 8088 machine code monitor and build an entire runtime from my keyboard
@FirstWizardZorander yeah, it is always funny Java is called slow, compared to C, yeah but most other higher level languages are wayy slower last I knew, JavaScript probably comparable (only because it is the language of choice on the web so it has a lot of people making optimizations to the JS engines), Python I want to say is wayyyyy slower than Java, etc.
Rust took its resource management model (RAII) from C++, Rust's unique offering is not preventing "memory leaks", it's preventing undefined behaviour and statically enforcing ownership (which is a concept that also exists in C++ since C++11, just not with compile time enforcement). You can easily leak memory in safe Rust. I also like Rust for its powerful enums, pattern, traits, and async, but those are not its main offering... Though neither is preventing "memory leaks".
I can't even tell if this is a joke video and you are just making an impression of average rust programmer or not because of how much these opinions scream " i use arch btw" and "There is only one correct way to program".
It wouldn't surprise me if this video was 100% real, although you can't expect Rust devs to accurately describe other languages because Rust is the only language you should use
@@stefanalecu9532 bro you're making the same reply under all comments 💀 This isn't really a Rust thing (I also main Rust and I'd like to think I'm fairly objective at looking at other languages -- Go is awesome, C++ is kinda nice, C is fuckin' awesome, etc.), it's more of a junior dev thing where they've explored a smaller solution space and the local optima they find is the best thing they've found for them.
@@thealmostfreerunner I don't like the Nix language too ^^ It's a compromise I needed to make so I can use the Operating System of my choice. I like everything about NixOS, just not its programming language. It's awful, just like its documentation. Cheers, A NixOS User
Nix is unironically my favorite programming environment for writing untyped lambda calculus. Seriously, implementing church encoding in Nix is _sooo_ satisfying.
I have to maybe correct my myself there. Nix is a good, a probably brilliant programming language but I just haven’t gotten around to properly learning it. And it’s not very transparent to beginners 😅
You can go even lower than assembly, with machine code. There are like 3 or 4 of us in the entire world, but I can encode some simple instructions for IA-32e (instruction format for x64 CPUs) and punch the bits and bytes into memory to execute them. Then, of course, there's microcode that uses logic gates and stuff to actually define inside the CPU how instructions should be executed. I would try to learn that too, but I'm afraid I don't have the tooling or knowledge for that, and I haven't found any online guides for it.
@guillermotoro2342 none in terms of practicality, unless I want to build a compiler from scratch at some point. Other than that, it's also just a cool skill to have.
in the GIS world, you're lucky to find devs. Most will have varying levels of competence with Python (what most GIS scripts use), some can do JS but TS is a heavy lift for some reason... the rarest are the C# devs who can create ArcGIS Pro add-ins and/or standalone GIS apps.
I did C/C++ for 20+ years, C# for 10+, and am now a full stack web developer. Have lots of experience in all the languages you mention except PHP. I wish I could give 10k thumbs up!! Awesome video!
So I started out with c++ but after a couple of years moved over to c# and yeah the description here is pretty accurate. I just code to solve a problem, I don't really care about programing. It's just a tool to me. I mostly care about art and animation and most of the software I make is just to improve my production pipeline for drawing
As a C# and Angular/TS dev who just goes to work, does some work, then goes home - blissfully leaving the world of programming behind until the next morning breaks - I appreciate your takes. Also Python is my friend and I worry about him. He's kind and caring but doesn't realize that he is sacrificing his own integrity to please everyone around him.
Languages I enjoy coding in: C+ (C++ but with a lot of C patterns that C++ has "better" ways of doing the same thing) Python 6502 assembly Not too long ago if you wanted to make a non-static web site you needed to do JavaScript for client-side and/or PHP (or Perl) for server-side. There were basically no other options.
I mostly use C#, because game development, but when I get the chance, I prefer to use Ruby. I like how aggressively object-oriented Ruby is, and I use Interactive Ruby instead of a calculator.
@@stefanalecu9532 yeah pretty much, but I think they're pretty similar in performance. I think C# may have had an edge in the past now that JVMs are finally getting better optimizations
I'm aware that benchmarks don't represent real world performance, but against relevant comparisons on the benchmarks game website show Java consistently falling behind both in speed and with cycles used. The only exception is Go lang where the performance is comparable.
Programming is just a hobby for me and I have to go with assembly because I code for old stuff. Ok and C# to create custom dev tools. I haven't gone insane so far even though I've had to implement very object-oriented-like things in assembly to make a game engine.
OK so I program in go and assembly, I wear button up shirts and drink coffee, and have high quality art strewn across my desk and tell everyone I meet about who the rightful heir to the British throne actually is
Oh my... I'm halfway through and had a fine time already. Absolutely agree on Python. I'm a C++ student, and might possibly be over there already. Tried Kotlin, got bored, might come back later. Considered Go (Ken Thompson, tired of pain). Cusp of GenX and Millenial (got both sides covered here). Yeah, C++ was probably a misstep indeed. But still an interesting language, still like it more than C. It's trying to evolve and have the potential to become a safe language with ever more awful synthax. Which is a barrier of entry that allow C++ people to be the closet elitists they are (I can't say "we" yet, I'm not that good at it). So why not learn Rust, right? It makes sense for someone as young as you, but not me. I don't have a few decades to spare while Qt is rewritten to Rust. lol
Bytecode is the language that all Assembly eventually becomes. It is the substrate that all Assembly is built on. 10/10 everyone should program in bytecode. Edit: If you program in bytecode you might be an llm.
Python. Had a java class, didn't know wtf was happening, went "Python is easier right?", taught myself with a yt video, went through numerical analysis boot camp, and now it's my bread and butter. Not trying to be a great programmer, just want something to execute the ideas I have. It's just a fancy calculator to me.
Those who knew java either have moved to Kotlin or are about to, probably one of the most fun languages to write with imo with how condensed it can be :D
As a game developer, I've had many people diss me for using Python and talk big game about how it doesn't scale well, but I've surpassed all of those people now and I haven't run into any issues. People have told me: - It can't make complicated projects - You can't make games with Python - It'll never run as an EXE - If it does run as an EXE, the filesize will be too big - Your games won't run well None of that was true. The filesize thing is *kinda* true, because there is some added filesize, but it's less than any engine I've ever seen so I don't see it as an issue. Python isn't perfect of course, but its drawbacks are heavily exaggerated and mostly non-issues from my experience
A lot of people complain about the performance of javascript, but in my experience, if you use it for what it was made for (web pages), and if you're complaining about the performance, it's just a skill issue
The amount of times I have been asked for coding help with python, and then its just MetaTrader scripts (it happened twice, but twice too many, i dont even know python)
At some point in the near future the mainstream will realise just how good modern PHP is and how elegant the tooling for it has become and there will be this renaissance of companies switching to it again.
As someone who used to work with PHP (through no fault of my own), yes new PHP is a totally fine language, not as memeably bad as old PHP, but most of the PHP that exists in code bases is old af since it was a corporate golden child of yore and has fallen out of style. So if a job says PHP I immediately reconsider. You might get to work in new PHP one hour out of every 100 and the rest of the time it's 2007 and my parents are getting a divorce, and I'm just trying to set up a fkin WordPress.
@@zionklinger2264 Haha well, I am working with a fairly old and terrible PHP codebase on a regular basis so I think your assessment is spot on. Whenever I get to actually implement something new or work with modern PHP features though, I honestly love what it offers. It's a very comfy language.
PHP has gotten a hell of a lot better over the years. Though you're most likely going to work with mountains of legacy PHP code if you decide to work professionally around that language like I've done in the past.
ermmm watch in 4K!!!
if ur 18 or above and like coding or linux or art, u should join our club!!!
discord.gg/nCBwjHzP6e
cuh
i would but already have a femboy twink bf
No
1. why ?
2. whats up with the chineese tones?
why do you have music verified channel
@AbongileMkololo-q4n they make music
>I use arch
>I use Rust
Yes diinki we can tell
They should use nixos instead.
@@rosettaroberts8053 diinki should use windows 8.1
@@rosettaroberts8053 how many of em are there?
@@h4ndle_yt thats the cool thing about nixos, reproducibility and stability. You just copy the configuration.
@@H3Musicim not sure but I think it was a joke about the pronoun they, as it is the plural form of he/her/it lol
"I code in rust"
we're never beating the allegations guys
fr bro i can't say i code in rust without someone accusing me of being a furry 😭
What is that supposed to mean?
failure is not an Option, it's a Result
The best quote I've ever heard.
Option is isomorphic to Result, i. e. when failure has only one state (unit type it is). So, get operation on some collection, for example, by index have the return type of either T, the data, or failure, when the data is not present by that index. This can be represented by Result or, more idiomatic, by Option.
So Option not only can indicate "absence" of data T, but the result of an operation, that can succeed or fail, and the caller have all of the context for that failure.
@sicikh for semantics you use Result, but if your function may fail and there is no way to get a display of the error your code is impossible to debug, check thiserror library.
C# is for people who go to work, go home, and have a normal life outside of computers
can that place outside the computers really be considered "life"?
as a c# programmer, i dissaprove this statement
I started out with c++ but gradually started using c# more and more simply because of how many pre-made functions there are also nuget. But yeah I also pretty much just program to solve problems. I don't really care about programing, only art
absolutely terrifying
C# is the language for normies. Source: I am a c# dev
"i program in Rust" i could tell lol
The leftist hair, nose- and lip peircings gave it away? :D
Bro is the average rust programmer
Furrrrr oh shit
Bro? You mean that's a dude? I thought she was a sis
Oh no, i'm learning rust😨
erm... what the skibidi
Most straight and normal looking Rust programmer:
C is concrete.
Assembly is Rock.
then what is binary code
magma?
@@Mutrax4706 It's just lava...
@@Mutrax4706 IT IS THE CONSCIOUSNESS OF THE ENTIRE UNIVERSE SIMULATION ENGINE! PRAISE THE OMNISSIAH!
@non_complete and now i'm about to manually switch transistors instead of coding
If Cobol is a boomer that committed war crimes, JavaScript is a millennial that, when pointed out that his negligence resulted in war crimes being committed, answers "ahhh, eto, bleeeh 😅"
JavaScript is a neglectful parent who doesn't realize his lack of engagement with his child led to the creation of the most horrible and abominable code cases and behaviour imaginable.
baNaNa
Rust is cplusplus for furries
Haha quoting Prime I see.
TRUE
cpp is THE coding language
@AbongileMkololo-q4nwell i can’t say anything different sense I code in both C and C++ but C is my go to
what is c++ is only know Rust and Rust--
in C++, you abuse the compiler
in Rust, the compiler abuses you
What if I like that? 😳
@@RustIsWinning prerequisite
I like dat too :33@@RustIsWinning
I think I should start using Rust so female clothes magically start appearing on my body
I tried rust, really enjoyed it and then boom dysphoria
Careful now...
In arch Linux (btw)
@@inertia_dagger
I know 3 people that this happened to.
I've been fine so far though.
@@sadakatu.tanzil I already had this step completed a year ago
@@inertia_dagger find god
Love your editing style
spasiba
@@diinkikot молодец
obligatory "but diinkiiiiiiii, what aboouut lua???"
Lua gang here 🤝
Lua: You used to code roblox games
LuaC: You used to code roblox cheats
LuaU: You currently code roblox games
@@ocsanik502 Me, who literally programmed Lua in Minecraft 👀
i love lua personally, it’s very fun embedding lua in C++ or rust projects
@@RachelAKAnw computer craft ganggg!!!
Java and C#: you probably start writing a "Hello world" app with a UML diagram
Xd
Good old times when I used to use UML.
A week ago.
Uml diagrams were my second lab during the 1st semester on SE. We had to code a Pokémon’s battle and then make a UML diagram of our project. That shit should be illegal or at least doing them by your hands in some shitty website. After that I’ve never used them again, thx idea
That's why I love Java. I guess I'm just not right in the head.
god damnit i was about to bingewatch your videos and then realized you barely have any, ur editing is really nice, keep it up
> no lisp
bracketbros...
It's so over, lisp has fallen...
😢
we scheme back
Billions must indent
Millions must macro
WRONG! When you code in assembly your brain turns into Roller Coaster Tycoon. Props if anyone gets the reference. You also become schizophrenic, smoke a pack of cigarettes a day, and code an entire operating system from scratch in 64-bits.
The crab hungers. The crab will consume all. All will become crab. Resistance is futile.
ALL WILL BECOME CRAB
wverything evemtually evolves into a crab
the crab will consume all
Organisms become crabs. Words become crabs. NOW PROGRAMMING LANGUAGES ARE BECOMING CRABS TOO???
Fax 📠🦀
rust and arch was very much expected
3:03 "what's meant to be a scripting language taking on simple and trivial tasks quickly stepped out of bound taking on complicated tasks that should be more optimized than what they currently are" this also could be said about javascript tbh
>Just saw that pops out in main page
>Can't tell if you a guy or a girl
>You said you use Rust
>That's checks out
had the exact same thoughts but mind you there's more than 2 genders :)
still wanna know what they identify as AHHHH
mind you there's not only boys and girls :)
@@JMaximusIXTrue, there are also men and women
@@JMaximusIX ^^^ This.
Bg got a computer with an arch non binary neofetch terminal they prolly Non-Binaru
Rust devs: "I feel bad for you"
Go devs: "I don't think about you at all"
😂😂😂😂😂
gleeb bleeb
That's gotta be a slur or something
Not all programming is for swe. Python has enabled so much science to happen.
Also so much sht to happen
Python is, I stand by this, the best programming language for non-programmers.
@@Alche_mist That's not even a hot take. If you don't have plans to become a programmer and just want to get shit done, Python is objectively better, because someone has probably already solved your sh*t for you and you just need to "import soln; soln.run()" and you're good to go.
@@Alche_mist and worse for ANY kind of programmer
Kinda comes back to the “knowing its place” thing. I like Python, but seeing it shoe-horned into all kinds of places it doesn’t belong because some Python evangelist insisted gets old fast.
As a Fortran programmer I feel offended it wasn't included.
okay but where is holy c?
10/10 first chad
11/10 no competition, no need to compare
it ascended to part 2 of this video
In heaven
That would be unfair, especially since we would know that Holy C would win. 😂
If you code in python it means either you're doing something simple that's just slightly too complicated to be a bash script or you work for a company/organization that was too cheap to pay for a MATLAB license. I code in either C or matlab with nothing in between except when I'm forced to and its python.
If you use MATLAB you must be a masochist. Damn that language is awful to use
@@DantevanGemert Well, to be fair to MATLAB, it isn't intended as a programming language, it is intended as an engineering tool. It would be like complaining about Maple or Mathematica. :)
It entirely depends. I know a shit ton of people, both in academia and in data analytics or AI that just don't like matlab/octave over python. Both programmers and non-programmers alike. Programmers want to use a programming language, and non-programmers want something accessible and generally versatile. Specifically those non-programmers tend to get their knowledge from postgrad CSE programs that generally won't teach Matlab. Python is accessible, easy to learn, and is not limited in its capabilities for Matlab work.
So unless you're locked-in due to your company or research partners, or need something more domain specific and integrated like Simulink, there's no reason not to use Python.
Python + Numpy is just as good as Matlab for many usecases, and certain fields (machine learning in particular) have much more ressources in Python compared to Matlab.
@neromule For machine learning stuff yeah there is a lot of coverage by Python, machine learning and IT arent the total of computer work though, thinking things like finite element analysis, thermal analysis, structural analysis, fluid process stuff, that kind of thing has a lot of representation in Matlab in industry but isn't common in Python. And of course Matlab has libraries to interface with all manner of commercial DAQs and measurement equipment, so there is almost no getting around it in some cases.
Personally while I like Python, I think it is a lot like Excel spreadsheets where it is treated like a hammer looking for nails and is often applied inappropriately.
Part of my daily routine as an aspiring C/C++ Dev is trying to not go insane
*task failed* but hey, I finally understand pointer arithmetic now :D
now learn value semantics a.k.a. RAII, template metaprogramming (+ SFINAE and concepts) and the purpose of std::launder 😈
@@Raspredval1337 useless stuff, c++ is a rabbit hole for the weak minded
@@Raspredval1337 get your stds out of here and stop laundering money
@@shroomer3867 iam not laundering money, but memory. Yes, memory can get dirty.
As good C++ dev, if you thought pointers were hard, you are not ready for template programming ^^'
Also, most use case of pointers in C are very simple array indexing : pointer[index], there are only few use cases of more complex arithmetic.
I think python is extremely powerful for a lot of usecases actually, if you know how to use numpy, and if you're just a skilled programmer who knows about basic optimizations, python can be SO powerful, there's a reason it's used in so much places
100% True
Numpy, Numba, and Dask make Python much better. Python 4 is getting rid of the GIL to allow for native parallelism.
Maybe you can make it get it to work efficiently enough to make money to rewrite the app in a faster lang.
Typescript is the Javascript version of the “This is fine” meme. It’s the equivalent of sticking your head in the sand and pretending that as long as you don’t see all the JS ugliness your code transpiles into it doesn’t affect you. Typescript is like some legal department at a large faceless company that hates its customers and employees came up with a super legal and not sneaky way at all to say “I’m not actually programming in JS” in order to try to avoid the liability.
Python doesn't know its place but javascript does??? Backend js frameworks and Electron apps are litteraly everywhere now, even in performance-critical applications. At least Python fully embraces the fact it's a scripting language in terms of syntax and concepts, and also that heavy-duty parts of the code are actually supposed to be implemented in C.
As a C++ programmer i appreciate how accurately you described us :3
Not winning but you deserve rank 2 or 3 at least.
I main PHP, I love seeing the haters get pissed off at the mere thought of someone using it, I live off of their venom.
So you are like me but PHP?? 🤔
Honestly, I just can't with people rating C over C++. Yes it's the OG blabla but C++ is just better than C in most of all matters outside simplicity. If you like C a lot, take C++, write mostly C and add just the few features you like from C++. Examples of features you might want :
namespaces, templates, being able to implement defer statements, better static dispatch, no need to typedef structs, lambda functions, parts of the C++ standard library, enum class, a few OOP constructs that are just good such as lock_guard for mutex, std::variant instead of unions, just attaching a function to a struct, auto keyword...
You will still be able to write your C-ish code, you can still interop with C in both ways. C++ is a giant toolbox, you can find whatever feats your boat and use just that.
Everytime someone recommends C++ they always miss literally the main point why people avoid it -- it's hard to control what features the whole organisation might use. I've done work in embedded, and it's important you keep the language simple so the codegen is predictable. Sure, you can do that in C++ (and I'd honestly like some C++ features like methods on structs). But once you introduce C++, you've opened Pandora's box and people will inevitably try to be clever. You can't really fight in code review all the time (afterall, why did you even allow C++ if you want us to use it like C?), it hampers productivity. So, in essence, C is used, because it's a compile-time check that you don't write C++. Now, you get to restrict the domain of C++ you want to work in, and compiler will check it for you.
C++ is honestly just so incredible. I’m so damn happy to be able to work in it.
C is God's programming language.
C++ is the object-oriented programming language of a pagan deity.
C is goat
You're thinking HolyC.
C is boooring and for dinosaurs ♿️
@@RustIsWinning You are boring.
@kriszenn1125 Not true :(
People like my polls etc etc...
You 100% are not someone who gets work done.
Python is fast,
Java is great,
C++ is not a successor to C
Do you program at all?
I look forward to your thoughts on Fortran, Lisp, Basic, and Ada.
My inital thoughts:
Fortran: "Don't touch that. It works."
Lisp: "What do you mean 'machine'? Lisp works in the realm of Platonic Forms, right?"
Ada: You have a security clearance, you're into bondage, and are entirely honest about that in your yearly polygraph.
Basic: What you used to make a prime number generator on the Vic-20 on display at the K-Mart while your parents were shopping for coats and pastrami. Good Times. Nobody lets you code on store display machines anymore.
I'm not sure what kind of channel i stumbled upon but honestly that was accurate asf (someone finally complimented me for using C i will cry)
Java being slow is actually a misconception, most JVM implementations area actually really fast and depending on the workload you aren't too far off from C++. There are even implementations of Java's compiler than can compile down to native code. C# is actually comparatively much slower than Java, even when comparing some sort of C# to native compiler with Java's equivalent.
It's a shame because C# has waaaaaaaaaaaaaaay nicer syntax and language features. Though Java has been adding some nice new features to catch up... but so has C# soooooooo...
Agreed on most points. But I'd rather have some stable Java syntax and stable library than having to update .NET every year and dealing with Breaking Changes they introduce every now and then. Things were simpler when we had only .NET Framework 4.5, even though it wasn't cross-platform. At least it could be depended upon.
You can't expect a Rust dev to accurately portray other languages anyway
My first language was C++ and then Python, C and Java.
Java feels older than both C and C++ somehow.
The problem with Java (and C#) is that it forces you to do heap allocations, and virtual function calls. Therefore, it is slower than C (function pointers), C++ (inheritance, type erasure), or Rust (traits). You can do vtables in C, C++, or Rust, but it is opt-in.
@@milasudril It's not a problem if you sign for heap allocations. It's a trade-off by design, these languages have different application areas. Like C is mostly for low level stuff nowadays, like writing operating systems, kernel modules, drivers, embedded stuff. Yes you can use it for anything, but the cost will be less productivity, lack of abstractions when the project becomes to big to maintain by a small team or even one person, not to mention dealing with memory. With Rust you get memory safety but with some productivity loss, because you'd have to design it that way so compiler is happy with lifetimes of all variables, probably will require to refactor more often, but the result is same performance and a better abstraction than C.
C++ provides OOP which is a fine abstraction for many things like video games, and there is sufficient safe memory management things in the recent standards.
Languages like Java and C# are good for those occasions where heap allocations and garbage collection is not critical, like server applications. And they provide better productivity, which is good for many businesses, also maintaining such code is much easier than those of C/C++, Rust.
Besides, in any language with GC you can avoid heap allocations when you need to (it's good for video games), just as long as you manage your code the way that you create objects in the initialization place and avoid allocating them in critical places like rendering, also in Java you can choose garbage collector algorithm.
Yes, these languages are not good for Real Time use for obvious reasons. But that's the point, you choose an instrument for your task. You don't just use C or Rust for everything.
my programming language is toki pona, what does that say about me
assembly! you program your own entire environment around yourself, crafting every abstraction from absolute scratch, but able to compose and cross fundamental language infrastructure and runtime at will. i *literally* have booklets around me of scrawled out masses of notes for reading and writing x86 machine code in octal, a holy prep so that one day i may sit down before an 8088 machine code monitor and build an entire runtime from my keyboard
And I did that, but on an IBM mainframe. Old guy from 1980 here, of course.
I just started programming in python 💀
I use Java, I tried out Kotlin, I like it better but Java still does have a special place being the first language I learned
Also, it isn't slow. It's the frameworks with tons of reflection that make it slow
@FirstWizardZorander yeah, it is always funny Java is called slow, compared to C, yeah but most other higher level languages are wayy slower last I knew, JavaScript probably comparable (only because it is the language of choice on the web so it has a lot of people making optimizations to the JS engines), Python I want to say is wayyyyy slower than Java, etc.
As someonw who as done assembly programming for complex things, I can assure you that the scattered notes happen very quickly
Rust took its resource management model (RAII) from C++, Rust's unique offering is not preventing "memory leaks", it's preventing undefined behaviour and statically enforcing ownership (which is a concept that also exists in C++ since C++11, just not with compile time enforcement). You can easily leak memory in safe Rust.
I also like Rust for its powerful enums, pattern, traits, and async, but those are not its main offering... Though neither is preventing "memory leaks".
People always mix up memory leak with memory corruption :(
I can't even tell if this is a joke video and you are just making an impression of average rust programmer or not because of how much these opinions scream " i use arch btw" and "There is only one correct way to program".
It wouldn't surprise me if this video was 100% real, although you can't expect Rust devs to accurately describe other languages because Rust is the only language you should use
I'm Rusting away and losing it
@@stefanalecu9532 bro you're making the same reply under all comments 💀 This isn't really a Rust thing (I also main Rust and I'd like to think I'm fairly objective at looking at other languages -- Go is awesome, C++ is kinda nice, C is fuckin' awesome, etc.), it's more of a junior dev thing where they've explored a smaller solution space and the local optima they find is the best thing they've found for them.
Loved your video! :D Your editing is great.
Missed Nix though :( haha
Cheers,
A NixOS user
God I wouldn't wish programming in nix on my worst enemy.
Sincerely, a nixos user
@@thealmostfreerunner I don't like the Nix language too ^^ It's a compromise I needed to make so I can use the Operating System of my choice. I like everything about NixOS, just not its programming language. It's awful, just like its documentation.
Cheers,
A NixOS User
Nix is unironically my favorite programming environment for writing untyped lambda calculus. Seriously, implementing church encoding in Nix is _sooo_ satisfying.
I have to maybe correct my myself there. Nix is a good, a probably brilliant programming language but I just haven’t gotten around to properly learning it. And it’s not very transparent to beginners 😅
JS/TS is a temporary way to bootstrap my c code compiled into webassembly 4:10
I love this video's ❤ the style sound effects everything
I couldn't help but notice your shirt... and I have to ask: what do you think is the best album of nevermore?
I loved the video! Simply fantastique!
You can go even lower than assembly, with machine code. There are like 3 or 4 of us in the entire world, but I can encode some simple instructions for IA-32e (instruction format for x64 CPUs) and punch the bits and bytes into memory to execute them.
Then, of course, there's microcode that uses logic gates and stuff to actually define inside the CPU how instructions should be executed. I would try to learn that too, but I'm afraid I don't have the tooling or knowledge for that, and I haven't found any online guides for it.
But currently, what's the point for that?
@guillermotoro2342 none in terms of practicality, unless I want to build a compiler from scratch at some point. Other than that, it's also just a cool skill to have.
your editing is so insanely well done I'm so impressed?? insta subscribe
I thought the punchline to the PHP programmer's favorite food joke was going to be "spaghetti".
Javascript is like someone whose new to fighting games, mashes buttons aand jumped around everywhere yet somehow keeps winning.
I just found this channel and it is AMAZING!
I have two moods, strong type system (rust) and aggressively dynamic type system (lua)
Why am I only discovering this gold now?
i appreciate the comparison of COBOL to the likes of Henry Kissinger but the thing is Kissinger actually died
thank you diinki for this video
POST MORE!! LOVE IT!
Cobol fucking RULES! Its still here because nothing can replace it.
Java is replacing Cobol. But the process is slow.
@Hungarian_subtext financial institutions are still hiring new (barely under 40) devs and teaching them cobol otj.
in the GIS world, you're lucky to find devs. Most will have varying levels of competence with Python (what most GIS scripts use), some can do JS but TS is a heavy lift for some reason... the rarest are the C# devs who can create ArcGIS Pro add-ins and/or standalone GIS apps.
@@roolark I think bro likes GIS
@tsunami870 I have my PhD in geography (GIS and remote sensing)... yeah I like it lol. Did you mean your bro likes it?
I did C/C++ for 20+ years, C# for 10+, and am now a full stack web developer. Have lots of experience in all the languages you mention except PHP. I wish I could give 10k thumbs up!! Awesome video!
AS an assembly programmer I agree! However you disrespected my brain, it's not a CPU, it's just a stack. Something something funny joke syscall
Make this one but for some of the most popular (hard thing to precise) JS libraries would be awesome too, heh. Nice video!
So I started out with c++ but after a couple of years moved over to c# and yeah the description here is pretty accurate. I just code to solve a problem, I don't really care about programing. It's just a tool to me. I mostly care about art and animation and most of the software I make is just to improve my production pipeline for drawing
“Your brain is a cpu and it runs linux” beautiful
So Cobol is the Henry Kissinger of programming languages? I hear people ask "Why are you still alive?" about both.
As a C# and Angular/TS dev who just goes to work, does some work, then goes home - blissfully leaving the world of programming behind until the next morning breaks - I appreciate your takes.
Also Python is my friend and I worry about him. He's kind and caring but doesn't realize that he is sacrificing his own integrity to please everyone around him.
Languages I enjoy coding in:
C+ (C++ but with a lot of C patterns that C++ has "better" ways of doing the same thing)
Python
6502 assembly
Not too long ago if you wanted to make a non-static web site you needed to do JavaScript for client-side and/or PHP (or Perl) for server-side. There were basically no other options.
obligatory "where swift" (i am swift's #1 fan)
I love your videos so much. I always feel so painfully and acutely, accurately called out 😂😂
I mostly use C#, because game development, but when I get the chance, I prefer to use Ruby. I like how aggressively object-oriented Ruby is, and I use Interactive Ruby instead of a calculator.
Java is not slow. Compare them to other high level languages
@@moritzscheuerle9447 it's slow, even slower than C#
@@tsunami870 source: I made it the fuck up (or I've tried Java 15 years ago). Sleeping hard on GraalVM, I see
@@stefanalecu9532 yeah pretty much, but I think they're pretty similar in performance. I think C# may have had an edge in the past now that JVMs are finally getting better optimizations
@@stefanalecu9532I'm pretty sure c# is faster. And the question is what is your source to prove wrong?
I'm aware that benchmarks don't represent real world performance, but against relevant comparisons on the benchmarks game website show Java consistently falling behind both in speed and with cycles used. The only exception is Go lang where the performance is comparable.
How can one hate on the literal substrate our banks are still built upon?? Its like disrespecring C except even older...
The 4:3 format in your videos is very stylish
5:55 i knew the moment i saw your hair color that you code in rust :P
I use c and python: the perfect balance between good and awful
Ngl, started in visual basic more than 20 years ago, got into python but idk c looks soo clean ❤
Programming is just a hobby for me and I have to go with assembly because I code for old stuff. Ok and C# to create custom dev tools. I haven't gone insane so far even though I've had to implement very object-oriented-like things in assembly to make a game engine.
OK so I program in go and assembly, I wear button up shirts and drink coffee, and have high quality art strewn across my desk and tell everyone I meet about who the rightful heir to the British throne actually is
Oh my... I'm halfway through and had a fine time already. Absolutely agree on Python.
I'm a C++ student, and might possibly be over there already. Tried Kotlin, got bored, might come back later. Considered Go (Ken Thompson, tired of pain). Cusp of GenX and Millenial (got both sides covered here).
Yeah, C++ was probably a misstep indeed. But still an interesting language, still like it more than C. It's trying to evolve and have the potential to become a safe language with ever more awful synthax. Which is a barrier of entry that allow C++ people to be the closet elitists they are (I can't say "we" yet, I'm not that good at it).
So why not learn Rust, right? It makes sense for someone as young as you, but not me. I don't have a few decades to spare while Qt is rewritten to Rust. lol
New video yaay ^-^
Bytecode is the language that all Assembly eventually becomes. It is the substrate that all Assembly is built on. 10/10 everyone should program in bytecode.
Edit: If you program in bytecode you might be an llm.
I've decided to learn Cobol for you.
Python. Had a java class, didn't know wtf was happening, went "Python is easier right?", taught myself with a yt video, went through numerical analysis boot camp, and now it's my bread and butter. Not trying to be a great programmer, just want something to execute the ideas I have. It's just a fancy calculator to me.
I'm honestly really happy with the feedback I get from the rust compiler because it's all valid criticism.
We are finally compiling with this one!!! 🗣🔥🔥🔥💻
Those who knew java either have moved to Kotlin or are about to, probably one of the most fun languages to write with imo with how condensed it can be :D
I work with Go and C , it works for me.
Go is zoomer C, but im too scared to work in C so i use Zig
As a game developer, I've had many people diss me for using Python and talk big game about how it doesn't scale well, but I've surpassed all of those people now and I haven't run into any issues. People have told me:
- It can't make complicated projects
- You can't make games with Python
- It'll never run as an EXE
- If it does run as an EXE, the filesize will be too big
- Your games won't run well
None of that was true. The filesize thing is *kinda* true, because there is some added filesize, but it's less than any engine I've ever seen so I don't see it as an issue.
Python isn't perfect of course, but its drawbacks are heavily exaggerated and mostly non-issues from my experience
It's a dream to use it for AI projects with the keras API!
I believe everything said in this video.
I'm gonna use it during my next job interview.
Lol! You said exactly the same about me in your what your distro says about you video. 😂
Lisp? Scheme, even?
My personal favorites.
A lot of people complain about the performance of javascript, but in my experience, if you use it for what it was made for (web pages), and if you're complaining about the performance, it's just a skill issue
I find c++ to be way easier than c. Polymorphism also helps ensure type safety.
Your nerd vibes are killing me really, wish I could subscribe 1 million times, this is so good, oh my :)
Their own programming language: Congrats, you are 1/0
The amount of times I have been asked for coding help with python, and then its just MetaTrader scripts (it happened twice, but twice too many, i dont even know python)
At some point in the near future the mainstream will realise just how good modern PHP is and how elegant the tooling for it has become and there will be this renaissance of companies switching to it again.
And then it will get utterly horrible again because companies will force their current practices into it again until it barely functions again
As someone who used to work with PHP (through no fault of my own), yes new PHP is a totally fine language, not as memeably bad as old PHP, but most of the PHP that exists in code bases is old af since it was a corporate golden child of yore and has fallen out of style. So if a job says PHP I immediately reconsider. You might get to work in new PHP one hour out of every 100 and the rest of the time it's 2007 and my parents are getting a divorce, and I'm just trying to set up a fkin WordPress.
@@zionklinger2264 Haha well, I am working with a fairly old and terrible PHP codebase on a regular basis so I think your assessment is spot on. Whenever I get to actually implement something new or work with modern PHP features though, I honestly love what it offers. It's a very comfy language.
PHP has gotten a hell of a lot better over the years. Though you're most likely going to work with mountains of legacy PHP code if you decide to work professionally around that language like I've done in the past.
Now that's a lot of copium 😂