No video

Why Does Everyone HATE JavaScript? (Yet Still Use It?)

  Рет қаралды 23,195

Continuous Delivery

Continuous Delivery

Күн бұрын

Whenever people rank programming languages by adoption, Javascript is the most popular programming language in the world, but few programmers, even Javascript programmers, claim that it is a good programming language. So is Javascript a bad language, and if it is, why is it so popular? Is Javascript a good beginner’s programming language and are its days numbered. JS is a bit if a language smorgasbord but in reality it currently plays an important, even a vital role in modern software development.
In this episode Dave Farley, author of best selling books “Continuous Delivery” and “Modern Software Engineering” explores the vital role that Javascript plays, talks about its creations and history and how that vital role was established.
-
⭐ PATREON:
Join the Continuous Delivery community and access extra perks & content!
JOIN HERE ➡️ bit.ly/Continu...
-
📧 Join the CD Mail List here ➡️ www.subscribep...
-
👕 T-SHIRTS:
A fan of the T-shirts I wear in my videos? Grab your own, at reduced prices EXCLUSIVE TO CONTINUOUS DELIVERY FOLLOWERS! Get money off the already reasonably priced t-shirts!
🔗 Check out their collection HERE: bit.ly/3vTkWy3
🚨 DON'T FORGET TO USE THIS DISCOUNT CODE: ContinuousDelivery
-
🔗 LINKS:
“Javascript”, Wikipedia ➡️ en.wikipedia.o...
“Brendan Eich, Creator of javascript” ➡️ en.wikipedia.o...
JScript ➡️ en.wikipedia.o...
“The DOM”, Wikipedia ➡️ en.wikipedia.o...
“The Rise of Javascript” ➡️ reintech.io/bl...
JQuery sample code ➡️ gist.github.co...
Ajax sample code ➡️ github.com/riv...
BOOKS:
JavaScript - The Definitive Guide, 7e: Master the World's Most-Used Programming Language amzn.to/3UJzCeC
JavaScript from Beginner to Professional: Learn JavaScript quickly by building fun, interactive, and dynamic web apps, games, and pages amzn.to/41itdd2
-
CHANNEL SPONSORS:
Equal Experts is a product software development consultancy with a network of over 1,000 experienced technology consultants globally. They increase the pace of innovation by using modern software engineering practices that embrace Continuous Delivery, Security, and Operability from the outset ➡️ bit.ly/3ASy8n0
Sleuth is the #1 most accurate and actionable DORA metrics tracker for improving engineering efficiency. Sleuth models your entire development cycle by integrating with the tools you already invest in. You get a full and accurate view of your deployments, see where true bottlenecks lie, and keep your team’s unique processes and workflows. With accurate data, Sleuth surfaces insights that your engineers can act on to improve - with real impact. ➡️ www.sleuth.io/
Roost, An Ephemeral DevOps Platform, automates your DevOps pipeline. It creates ephemeral DevOps environments on-demand or based on pull requests. Roost reduces DevOps complexities and shortens release cycles with fewer engineers. ➡️ bit.ly/CD2Roost
Tricentis is an AI-powered platform helping you to deliver digital innovation faster and with less risk by providing a fundamentally better approach to test automation. Discover the power of continuous testing with Tricentis. ➡️ bit.ly/Tricent...
TransFICC provides low-latency connectivity, automated trading workflows and e-trading systems for Fixed Income and Derivatives. TransFICC resolves the issue of market fragmentation by providing banks and asset managers with a unified low-latency, robust and scalable API, which provides connectivity to multiple trading venues while supporting numerous complex workflows across asset classes such as Rates and Credit Bonds, Repos, Mortgage-Backed Securities and Interest Rate Swaps ➡️ transficc.com

Пікірлер: 324
@ContinuousDelivery
@ContinuousDelivery Жыл бұрын
If you would like to get regular newsletters, free advice and information, and early notification of special offers and events by Dave, try our CD mail list for a while ➡ www.subscribepage.com/cd-mail-list
@EricKing
@EricKing Жыл бұрын
100% of JavaScript's popularity stems from its entrenchment in the browser as the only language choice. It's evolved over the years and has gotten a lot better, but without the browser monopoly, it would have died on the vine many years ago, IMO.
@ChaoticNeutralMatt
@ChaoticNeutralMatt Жыл бұрын
I have to agree. I'd like more option in this area. I enjoy JavaScript, but this feels weird
@Jimbobsurvives
@Jimbobsurvives 5 ай бұрын
It's terrible for vulnerabilities a hackers dream
@bimrebeats
@bimrebeats 5 ай бұрын
Sure, let’s get 10 different languages supported by every browser. That’ll be more user friendly 😂
@EricKing
@EricKing 5 ай бұрын
@@bimrebeats Don't need that... We have WASM now, which is a compilation target for multiple languages. You can already write Rust, Go, Python, C#, and a bunch of others, compile that to WebAssembly, and run that in the browser. Unfortunately, we still need JS to manipulate the DOM. Once WASM can do that, too, then you could write your browser code in practically any language.
@Soleryth
@Soleryth 3 ай бұрын
That's so true. And people still brag about it, like in the comments "There are only two types of languages: the ones people love to hate on and the ones nobody uses." There is literally no other choice, even if WASM is here, it's still in progress, and the DOM can't be accessed. If JavaScript was like CSS, or HTML, a language with a focus on hypertext that's super aimed on that, that would be fine. But nah, it's just Java syntax with a web integration where you can change stuff in the dom with your_element.innerHtml = "stuff" or attributes.class etc. It's just something Netscape put in place like "heh let's make something", they had a deal with Sun so they shove Java compatibility inside it, and now the language can't evolve, because of the nature of the web, JS must be retro-compatible with it's first 30 years old version, so it can never be fixed. Google tried to free us in 2011 with Dart, that is now everything we wish JS had, but the pushback was so huge back then, mostly because it was Google, and the frameworks era wasn't there yet.
@jimhumelsine9187
@jimhumelsine9187 Жыл бұрын
"The strength of JavaScript is that you can do anything. The weakness is that you will." - Reg Braithwaite
@xybersurfer
@xybersurfer Жыл бұрын
@@ThomasVWorm no. that's too simplistic. programming languages are not neutral. some make it easier to get things wrong
@zeropaper
@zeropaper Жыл бұрын
Just like a junior designer will try all Photoshop features and filters on a single image.
@Ogbobbyjohnson92010
@Ogbobbyjohnson92010 Жыл бұрын
There are only two types of languages: the ones people love to hate on and the ones nobody uses.
@krux02
@krux02 Жыл бұрын
I am a software developer by passion. I enjoy writing game engines from scratch. I enjoy being in control of the program and understand what is going on under the hood. I've worked to develop new programming languages to tackle the problems of the future. But as of right now, I have a job that actually gets me an income and it is on the web. I understand very little of what is actually going on. Nobody really seems to care of what is going on as long as it doesn't crash. Abstractions skyrocket and actively prevent understanding the code at a lower level because everything is behind interfaces that can't be inspected. Performance is abysimal. Memory consumption is beyond all reason. But apparently I am the only one here who as a problem with it, so it is a me problem. I really hate my job right now. Javascript is just the little seedling that made my current existence possible.
@muhammad_hussain
@muhammad_hussain Жыл бұрын
You are not the only one, but unfortunately it seems like abstractions are the way to go to meet the never-ending demands and the tight deadlines.
@YonoZekenZoid
@YonoZekenZoid Жыл бұрын
it's not a you problem, it's a "nobody ever learned JS" problem, which led to the big ball of mud you're currently working on
@vitalyl1327
@vitalyl1327 Жыл бұрын
the key is to stay away from anything related to web, this way you won't get exposed to javascript. I so far managed to never touch it, in an over 30 years career.
@ChungusTheLarge
@ChungusTheLarge Жыл бұрын
No, you appear to have a good understanding of the language's flaws. The people like you, the malcontents, the people who are pulling out their hair screaming "There has to be a better way!" You guys are the reason anyone invents a better way, and sometimes you get frustrated enough to gift the world with something new. Your criticisms are valid, do not let some form of impostor syndrome make you think otherwise
@drprdcts
@drprdcts Жыл бұрын
@@ChungusTheLarge well said! Having had a job that exactly matches the OP's frustrations, I can confirm that the so-called "complainers" usually end up in much, much better places in the future with better job satisfaction and better salaries. Never settle for what your gut doesn't like, even when this means going against dozens of people in your company who agree with everything as long as they're getting paid.
@pepineros4681
@pepineros4681 Жыл бұрын
Getting JS instead of a Lisp dialect as the browser scripting language of choice is one of the great tragedies of our time.
@christopherscholl639
@christopherscholl639 Жыл бұрын
I really enjoy writing JS, and do so professionally. I started working after ES6 came out, so lots of the historical baggage that pervades programming culture was lost on me until I started looking into the history of the language. I think JavaScript is great, it's fun to write, there is always something new and interesting to learn about it. It's maligned too often. Being a JS dev is more than writing code, too. It's writing web pages that would ideally contain semantic HTML, be accessible to individuals, and takes SEO into consideration. I get to work with users, designers, and back end devs.
@georgehelyar
@georgehelyar Жыл бұрын
Writing semantic html seems to be lost on every front end developer I know. They would rather write inline styles by another name using things like bootstrap and tailwind, and add meaningless extra identifiers just for selenium tests to use etc. It's a mess of flavour of the month frameworks and package hell, and adding more layers of rubbish to try to fix the previous layers of rubbish. IMHO peak JS was probably just at the end of the jQuery era, just as people were starting to go to vanilla ES6 js because of the fall of IE and the rise of V8, right before frameworks like angular and react became popular. Watching the last decade of changes to front end dev has been like watching a car crash in slow motion, and there are no signs of it getting better.
@ApprendreSansNecessite
@ApprendreSansNecessite Жыл бұрын
@@georgehelyar I sympathise with your perspective. I have the feeling that on the front-end people get dictated their architecture and even their design by the tools they use, so much that it has become hard to advocate against coupling the data layer or for testing business rules in isolation. I mean why have any kind of hygiene when we have powerful tools which enable making a mess faster than ever and then becoming captive to them?
@techsuvara
@techsuvara Жыл бұрын
For large scale projects, definitely prefer type script over JS.
@ElclarkKuhu
@ElclarkKuhu Жыл бұрын
@@techsuvara I like TS but for most of my projects its just adding another layer of Compiler. I've been trying to learn JSdoc, just haven't have the time to do it yet
@christopherscholl639
@christopherscholl639 Жыл бұрын
@@techsuvara I agree that it is helpful, especially around Objects. I don't enjoy writing interfaces, but I like preventing Objects from being turned into something another part of the code doesn't expect.
@FuturaInteligencia
@FuturaInteligencia Жыл бұрын
Thank you for this recap on JavaScript history, there were details I did not know! I remember back in the day, when JQuery saved our sanity by hiding under an abstraction layer the incompatibilities between browsers. It's the opposite now when each framework claims to solve problems differently despite the foundations are the same.
@edgeeffect
@edgeeffect Жыл бұрын
jQuery also taught us to stop using this thing like some kind of wierd C interpreter and learn how to use it as an asynchronous functional language.
@bobbycrosby9765
@bobbycrosby9765 Жыл бұрын
My Javascript hate has abated over the years because I'm no longer forced to use it. Between it, Typescript, and Clojurescript, I have options these days. As far as programming models go, I'm kinda interested in seeing how the electric clojure project matures, whose aim is to abstract the programmer from having to deal with client/server state sync.
@YonoZekenZoid
@YonoZekenZoid Жыл бұрын
I remember when ECMA put the class keyword into the standard, and all the JAVA and C# programmers rejoiced. "we now have classes!" they said, "full-fledged OOP!". but JS does not support classes, and assuming it does because there is a class keyword, has led to a lot of pain, especially because most of the industry went and adopted the class keyword in their code. I think the main reason why JS is hated so much, is because most people who use it know some OOP, probably class-based OOP, and don't take the time to learn about the paradigms that make JS tick. Classless OOP, combined with JavaScript's functional features (functions as first-class citizens and closure in particular), in my opinion, is much cleaner than it's class based OOP, because you don't have to define interfaces explicitly. it can lead to some messy code, but if done right, there are some really elegant patterns that emerge from this little language. also, fun fact. ASP - as in active server pages, microsoft's response to a www-enabled reality - supported JScript, which was a rewrite of the original JavaScript, done for IE, that fixed a ton of issues with the language and its implementation at the time. I remember learning ASP with vbscript in 1998, and switching to JS made for much better code at the time. if anyone is interested in learning the functional aspects of JavaScript, there's a talk by Douglas Crockford, called "fun with functions". it's a deep dive into how functions work in JS and will change the way you see the language, and vastly improve your codebase as a result. oh, btw, in case it wasn't clear... I LOVE JavaScript :D
@samuelmv78
@samuelmv78 Жыл бұрын
+100. There are many bad decisions in original Javascript, but prototype based object orientation, duck-typing, first class functions and closures compensate for all of them. Every time someone (from the Java and C# camp, as you said) use "class" or ask for static typing, god kills a kitten :P
@Yulrag
@Yulrag Жыл бұрын
I have decided no to touch it. It has way too many bad design decisions. You just named one of them. In my opinion, it should have been replaced by a new language around 2005. But worse is better will always plague this industry.
@dixztube
@dixztube Жыл бұрын
Thanks for the recommendation will check it out.
@ApprendreSansNecessite
@ApprendreSansNecessite Жыл бұрын
JS is great for learning functional programming. Brian Lonsdorf gave a few talks that are worth watching. He also wrote the nice Professor Frisby's Mostly Adequate Guide to Functional Programming.
@vitalyl1327
@vitalyl1327 Жыл бұрын
there is a lot to hate in javascript without even touching any stupid OOP. To start with, no integer data types. Should have been a complete show stopper, yet people somehow swallowed this insult of a language. Then an awful mess of dynamic and static scoping. Why? And saying that Scheme was an inspiration for this abomination is another insult - it's not even close to 1/100th of Scheme.
@d.s.dathaniel7552
@d.s.dathaniel7552 Жыл бұрын
JS is the same as python2, both belongs in history
@frozenintime
@frozenintime Жыл бұрын
Left web development, never had to touch it since. One of my best career change moves.
@georgehelyar
@georgehelyar Жыл бұрын
Congrats on living the dream
@scottisitt
@scottisitt Жыл бұрын
Changed to what?
@frozenintime
@frozenintime Жыл бұрын
@@scottisitt - most company processes that need automation - back end software development - build systems - deployment delivery - desktop app development - firmware & driver development - phone app development - QA
@scottisitt
@scottisitt Жыл бұрын
@@frozenintime I see. Cool! Thanks for answering.
@Mirage2020
@Mirage2020 6 ай бұрын
​@@scottisittIoT and microcontrollers are areas where JS Is almost non existent and one most use, most of the time, C/C++ or even Java with an Specialized Version of the JVM.
@craigiedema1707
@craigiedema1707 Жыл бұрын
I've watched the software delivered via - mainframe with dumb terminals, - to client-server - to servers with static browsers (pretty much the same paradigm as the first) - to servers with rich clients (pretty much the same paradigm as the second) I wonder with ever-faster internet connections do we go back to most of the processing taking place on the server, with the browser doing the minimal display out. We've also decided that most of our workload can be done by what is essentially an interpreted language (yes I know it kinda pseudo-compiles).
@justsomeguy8385
@justsomeguy8385 Жыл бұрын
I use TypeScript now, and never want to go back to regular JS. JS is janky and makes it way too easy to write buggy code. End of story. TS is a massive improvement, and while it doesn't solve issues with data mutations causing unwanted side-effects, it does do a lot to make major improvements to the developer experience with JS. Also, AssemblyScript is a native WASM language based on TS. In fact, AS can compile TS files to native code. I haven't used it yet myself, but it looks like such an obvious next step for web development on the client.
@PeerReynders
@PeerReynders Жыл бұрын
AssemblyScript «does not» compile TypeScript to native code. AssemblyScript merely borrows some of the TypeScript's syntax for its own purpose (hence “A TypeScript *like* language for WebAssembly”; rather than a JavaScript dialect for the purpose of JS linting). AssemblyScript is further removed from TypeScript than Unity's HPC# is from Microsoft's (standard) C#.
@ApprendreSansNecessite
@ApprendreSansNecessite Жыл бұрын
When I go back to JS I make dummy mistakes I use not to make and it gives the misleading impression that TS is such a step up, when in fact I am being less cautious. Aside from the language server feedback, which I agree is a great dev experience, it doesn't bring me so much value and it has a cost: writing generic functional code in TS can lead you to write 3 times as much type-level code than you write runtime code. As for catching bugs, you are testing your code, right?
@Winnetou17
@Winnetou17 Жыл бұрын
I used to like JavaScript (dynamic language, first order functions, prototype based OOP) but I didn't like all the frameworks that emerged from it. jQuery is truly a definition of good library design, as evidenced by its staying power with so little changes. While things like Angular have to keep saying "yeah, the old version was bad, but this new one is good". Anyway, bad comparsion, framework vs library. What I still don't understand, probably because I don't program much in JS nowadays, is why people didn't profit from the awesome prototypical inheritance but insisted into getting back to the classes system. Yeah, it can be done (because prototype based OOP is awesome) but it's like "nah, these round wheels are too dangerous, we must get back to square wheels".
@edgeeffect
@edgeeffect Жыл бұрын
JS is lovely... Angular is hell on Earth. :) ... VueJS seems to be pretty tasty though... maybe...
@HansLemurson
@HansLemurson Жыл бұрын
This was a very nice overview of the historical context of JavaScript!
@Oliver-rh5bv
@Oliver-rh5bv Жыл бұрын
I started with PHP in the Web Development world on the server side and got in touch with JavaScript in the early 2000th. My daily work required more and more JavaScript over time to get the right UX and comfort in Web Applications. Nowadays I also write a lot of TypeScript and my JS experience helped me a lot to understand what is going on under the hood. I also saw that Server Side Rendering of Web Content is slowly coming back to us in different ways. Software Development in the Web is an ever changing experience so stay tuned. 😊
@xybersurfer
@xybersurfer Жыл бұрын
JavaScript is a huge improvement over PHP, but it's still terrible
@edgeeffect
@edgeeffect Жыл бұрын
I'm jealous! I'm still mostly doing stinky rotten PHP!
@SeanLumly
@SeanLumly Жыл бұрын
Javascript has enough features that it can be translated to from another language, even one that adheres to strong typing. Typescript is one such language, but it should be possible with other strongly typed languages as well, with APIs wrapping critical functionality (eg. typed array handling, sockets, persistent local storage, etc). It's not ideal, but you needn't write in Javascript to emit Javascript either on the web, or on the server! Additionally since Javascript is typically used on the web, Web Assembly is a very good substitute with near perfect compatibility -- that is, if you don't mind your own memory management, and can live in a single-threaded environment (or put up with web-worker _insanity_). Web Assembly offers more freedom of language, near native performance, and is also increasingly being used for cloud function sand-boxing as well -- a nice enough substitute for JS. WebGPU is also another coming technology that provides a nice enough API for targeting GPU rasterization and compute on the web. Again, with proper wrappers, it should be possible to create very portable code. If navigated carefully, the web needn't be a bad development environment. But freedom of choice, means freedom to make poor choices, so weigh said choices carefully!
@vargonian
@vargonian Жыл бұрын
I feel like Javascript became so popular simply because it was there, for free, for everyone to use easily. And now we're stuck with it.
@banatibor83
@banatibor83 Жыл бұрын
We need a better browser programming language, we just have to create it, and persuade the 3 big browsers to support it. :D
@chrisjsewell
@chrisjsewell Жыл бұрын
@@banatibor83 WASM?
@rao180677
@rao180677 Жыл бұрын
I would probably just add the rise of SPAs as the culmination of the autonomy of web pages. But great video! As always.
@seetingthroughthecloud
@seetingthroughthecloud Жыл бұрын
I switched over to Blazor Web Assembly a while back for all my work and it's a dream come true in terms of brining all the good programming practices into the browser.
@PaulPetersVids
@PaulPetersVids Жыл бұрын
been programming professionally for five years now. I knew some of the history of javascript but was nice to see how it grew alongside the html DOM. I didn't know that.
@szeredaiakos
@szeredaiakos Жыл бұрын
Well, it is moving towards harmony. I used to be an actionscript (3) developer. It was an incredibly comfortable language to use so I like the current direction. The major difference of feel between AS3 and JavaScript is the difference how they handle class members. Getting rid of "this" could help allot to increase code quality by introducing the risk of clashing with local variables. That risk for me served as a subconscious measuring device that told me when my class is bloated and naturally forced me to refactor. Instead of having 15 reasons for change, it kept me at 2-3 reasons per class. Coupled that with business requirements, I ended up with mostly 1 effective reason per class.
@sixbutton9
@sixbutton9 7 ай бұрын
people just like to complain. you don't pick a fight with the smallest guy to prove how tough you are.
@timurrte5694
@timurrte5694 Ай бұрын
I've tried to learn JS for a long time (I even did my homework for university in JS, yet I can't learn all different tools that come with it (CSS and his "extensions" like Sass and Tailwind is just one example of it). There's a lot of stuff that will become irrelevant once new "better" stuff is developed.
@disgruntledtoons
@disgruntledtoons Жыл бұрын
The managers of JS need to bite the bullet and deprecate the features of the language that allow for slop code, with ever-more-noisy notifications to the user, and eventually remove them from the language altogether.
@dickheadrecs
@dickheadrecs Жыл бұрын
TypeScript makes it feel like Microsoft wants to put the Java back into JavaScript functional JS is a beautiful thing though
@jacoblister
@jacoblister Жыл бұрын
Modern Javascript post ES6 is just fine to learn an write large software projects in. Just as good as anything else - though a touch of static typing via Typescript goes fair way. I think a significant factor in Javascript's success has been the compiler technology - blinding fast JITs which blew Java/Python etc out of the water performance wise and gave native C/C++ code a run for it's money. Javascript is not just a ubiquitous programming language - is a ubiquitous VM/execution environment as well.
@pompiuses
@pompiuses Жыл бұрын
Blew Java out of the water? I think you need to check again. Java is still the best performing garbage collected language.
@vitalyl1327
@vitalyl1327 Жыл бұрын
@@pompiuses there's a caveat - Java is best performing only if you write it in such a way that GC does not have much to do. I had to deal with a few Java real-time GC implementations, it always boils down to writing in a very restricted subset of Java and continuously questioning - why the heck we did not just use C++? As for thoughput performance - yes, JRE is one of the best, and GCs available for it are very mature.
@d3stinYwOw
@d3stinYwOw Жыл бұрын
Only one thing was omitted - why IE got ~96% of popularity and MS won ;) Otherwise, great video, but putting JS outside web was IMO mistake, like in microcontrollers. Also overusing today JS is also bad, making web browsers bigger behemots of source code than Operating Systems it run on :)
@N1ghthavvk
@N1ghthavvk Жыл бұрын
Hm, can you expand on your thoughts about WebAssembly? Will it replace JS? We're about to start a new project in our company and are thinking about whether WebAssembly might be the tool of choice today, instead of the TS we've been using so far.
@krux02
@krux02 Жыл бұрын
as of right now, wasm can't be used without some glue javascript. So I doubt it will replace it any time soon.
@YonoZekenZoid
@YonoZekenZoid Жыл бұрын
WebAsm is designed to be a subset of JS, that sacrifices some of the more "comfy" or "abstract" parts, to enable higher performance. if performance is a #1 concern, and you can do without all the features WebAsm forgoes, then it is a better fit. otheriwse TS or ESNext will make your code much easier to maintain.
@YonoZekenZoid
@YonoZekenZoid Жыл бұрын
@@frozenintime yes, I know. it's also a subset of JS, designed for performance first. it wouldn't work on browsers otherwise edit: after looking at my previous answer, I realize my response might generate some confusion. when I say "use WASM" I mean write code with WASM as the target.
@YonoZekenZoid
@YonoZekenZoid Жыл бұрын
@@frozenintime citation for what? the fact that it's a subset of JS? I mean it runs natively in browsers. what other source do you need?
@YonoZekenZoid
@YonoZekenZoid Жыл бұрын
@@frozenintime ah, it seems I was confusing WASM with asm.js. guess I got left behind huh
@gordonmullen7272
@gordonmullen7272 Жыл бұрын
If you get a grip of JavaScript's personality and learn(or let) to manipulate its peculiarities , this language, especially implementing TypeScript's constraints and powerful tools , can do just about anything you've asked it to do: with clean, and structured code! Functional, OOP, prototypical, imperative or declarative, synchronous or asynchronous, even integrate a few web-workers and service-workers and its single-threadedness almost makes you believe it has multi-threaded super-powers...LoL
@vitalyl1327
@vitalyl1327 Жыл бұрын
You never seen any proper language than, if you think Javascript is capable...
@chakritlikitkhajorn8730
@chakritlikitkhajorn8730 Жыл бұрын
@@vitalyl1327 Community guideline say avoid attacking a person. I worked with C#, Clojure, Java, Elixir, TypeScript, Scala, Python and I still think JS has its own merit. Javascript is surely capable, maybe not because language itself but tooling and infrastructure around it.
@vitalyl1327
@vitalyl1327 Жыл бұрын
@@chakritlikitkhajorn8730 tooling - yes, absolutely, Javascript got the best JIT compilers out there, for example. I am talking about the language itself, and the language is among the worst ever created by humanity.
@chakritlikitkhajorn8730
@chakritlikitkhajorn8730 Жыл бұрын
@@vitalyl1327 I think you are taking too extreme stances. We have Brainfuck, Assembly and many toy languages out there. We even have Basic that you need to put line number in front of each statement and rely on GOTO to form a loop. To claim that JS is worst humanity ever create is very dispropotionate imo.
@vitalyl1327
@vitalyl1327 Жыл бұрын
@@chakritlikitkhajorn8730 brainfuck is not bad at all, for its purpose. It was designed to teach Turing machines and to explore how potential future TM-based computers can be used (think of, say, DNA computing). Assembly is not "horrible" too - it's just a reflection of the actual hardware. Basic is remarkably simple and can be implemented on a really rightly constrained hardware. Not bad at all either. Though Forth is even better, but for the teaching purposes Basic was the right thing to happen. While for JavaScript there is no excuse at all. No single reason for it to exist. It should have never been created in the first place.
@cjveeneman
@cjveeneman Жыл бұрын
it's true python existed a couple years before CGI but it was by no means widely used during the CGI phase of web development. Also, AJAX did not open a channel from the server to the page. Other than that, good vid.
@philadams9254
@philadams9254 Жыл бұрын
It's because it has no competitor. It would be good to see a rival browser language developed as an alternative. Maybe it could be better (or not, who knows)
@georgehelyar
@georgehelyar Жыл бұрын
WebAssembly might help with this, although I think all of the terrible things that people do will just be carried over, and wasm isn't quite where it needs to be to completely replace js yet anyway, you still need a bit of JS around the edges. At least you aren't forced to deal with all the crazy things that JS does though, you can use other languages instead if you want to, like C#, Rust, etc.
@genroa3881
@genroa3881 Жыл бұрын
I personally think the web shines because it's an almost universal standard on all fronts, styling, markup, programming language. Adding a competitor would probably just make browsers even heavier (think TVs, phones,...) for not much of a gain for end users and a permanent battle for features. WASM already widened the possibilities quite a bit, but projects like python in browser are a mistake imo.
@MichaelJohnBrooks
@MichaelJohnBrooks Жыл бұрын
Dave, unless I misinterpeted what you were asking, your question re whether WebAssembly will allow other programming languages to be used in the browser was surprising given how long Microsoft's Blazor has been doing exactly that for C#.
@ContinuousDelivery
@ContinuousDelivery Жыл бұрын
Yes, I know that it does that from a technical perspective, it is just still a VERY minority sport. My question was more "will WASM take off to the extent that it may challenge the dominance of JS". I think that will be difficult, because JS is so entrenched, other tech has tried. Technically WASM sounds like a better idea, but time will tell.
@MichaelJohnBrooks
@MichaelJohnBrooks Жыл бұрын
@@ContinuousDelivery Ah - yes, I understand where you were coming from now. Sadly, I think that at this stage that ship has sailed - there has been too much invested in JS now - React, Angular (1 & 2), Vue. One can hope but I'm not holding my breath...
@_orangutan
@_orangutan Жыл бұрын
It's not that I hate JS, I hate server-side/native JS. Keep it in the browser.
@newmonengineering
@newmonengineering Жыл бұрын
I am still surprised HTML has lasted so long. By now I would have thought a completely new web language would be used by all new web browsers that send binary data back and forth server to client. But here we are still sending plain text I'm this clunky trifecta of languages HTML, CSS and JS. By now we should have a drag and drop interface editor that compiles the code and uses that to build the interface screens. Imaging how much faster and more integrated the web could be if they went in this direction. Small binary chunks floating across the network responsive UI with some language that speaks server client at the same time.
@thats-no-moon
@thats-no-moon Жыл бұрын
Why use JavaScript? JavaScript is a monopoly. That's why.
@user-dt9xb7sn2q
@user-dt9xb7sn2q Жыл бұрын
What about the fact that the sources code of a web page is always open? Mostly obfuscated but still. And it's not the same as open source software. It makes web apps a much easier target for potential hacker attacks.
@adamolszewski4054
@adamolszewski4054 Жыл бұрын
I've been there all those years ago, dealing with JS in Netscape and IE. I still remember working with DHTML, prototype and eventually jQuery. Yes, JS played a big role in the evolution of web development and I do appreciate everything it gave us. That being said, I also do see all the bad things it brought along. In my opinion JS should have been either replaced or reinvented years ago. I find it funny when young devs today snide on the old guard, saying that they don't care about complaints of boomers, yet they are putting JS, the most "boomer" tech out there, wherever they can :)
@vitalyl1327
@vitalyl1327 Жыл бұрын
The funny thing is that back then there were much better options, yet, for some reason, an awful javascript was invented. It simply should have never existed.
@MarcLucksch
@MarcLucksch Жыл бұрын
We can only hope for Webassembly..
@ToadalChaos
@ToadalChaos Жыл бұрын
At least it's not Fortran :)
@zoladkow
@zoladkow Жыл бұрын
​@@MarcLucksch sure... because why anyone would want to inspect a readable code of a webpage... we could just go back to flash days, right? 🤷
@zoladkow
@zoladkow Жыл бұрын
just scratch it and start over, eh? It is general purpose scripting language... it's meant to be flexible, it's just a tool, don't blame it for human fallacies of its users 🙂 Or should we also drop c or asm, because they were the ones to create the others? I for one love the flexibility, but then again i know ins and outs if it, so its predictable... the language that is, the issue starts when someone creates some halfassed framework wizardry on top, and that gains traction...
@ashimov1970
@ashimov1970 Жыл бұрын
Cloudflare Workers are the brightest and most vivid example of the implementation of distributed concurrent programming based on JS
@rommellagera8543
@rommellagera8543 Жыл бұрын
I was able used Sequelize ORM for JS, I found it be well designed and easy to use than other established ORM even from other languages But for quick database manipulation, Sequel library of Ruby language is a good option I think every language do have their own quirks, but for me writing reliable and maintainable code that solves the customer's problem is more important that the tools used
@xybersurfer
@xybersurfer Жыл бұрын
the reliability and maintainability of code, is directly affected by the quirks of the language
@giorgiobarchiesi5003
@giorgiobarchiesi5003 Жыл бұрын
Great video, that makes a lot of good points. Just, instead of “static typing” and “dynamic typing” I prefer the definition “type safe” and “type unsafe”. And let’s not forget that modern languages are also “null safe”, as opposed to “null unsafe” languages.
@ApprendreSansNecessite
@ApprendreSansNecessite Жыл бұрын
I think "type safe/unsafe" is not very helpful because the definition of type changes from type system to type system. There is a whole class of bugs that sum types eliminate, an a lot more than dependent types eliminate. Most programmers will think they use a safe type system when others would consider they don't.
@giorgiobarchiesi5003
@giorgiobarchiesi5003 Жыл бұрын
@@ApprendreSansNecessite My point is that I surely prefer a language that allows me to find errors at compile time rather than run time. And I strongly think a type-safe and null-safe language helps a lot in this regard, both when you develop fresh code, and when you make changes to existing code.
@imqqmi
@imqqmi Жыл бұрын
Javascript has become the BASIC interpreter of the old 8 bit days. But basic was a lot easier to learn basic programming skills with, JS is so over complicated for beginners and yet, many learn js as their first language. I had a love/hate relationship with Javascript, I loved it because it enabled me to write interactive webpages with quick queries to the backend and quickly display updated data. Hate it because the wild growth of frameworks, silly ways of programming it allowed has produced a situation that apps that multiple devs work on became a right mess. I don't care to remember how many times I've ripped out the js part of a web app and redone it to get rid of nasty bugs and platform incompatibility. I now like plain js and throw out all the frameworks, it just slows things down and makes it complicated to read. I mean, Angular, really, really? Come on. Javascript should've been something automatic code generation should've taken care of it. I'm now more interested in the back end anyway.
@genroa3881
@genroa3881 Жыл бұрын
Taking Angular as an example is a bit disingenuous. Vue is far lighter and easier to adopt and use on projects. Angular is a bulldozer most projects wouldn't benefit from.
@PetterIvarsson
@PetterIvarsson Жыл бұрын
Agree a lot. There is a new framework each day and sometimes we are stucked with dependency trees from hell. Sometimes just plain JS is enough
@edgeeffect
@edgeeffect Жыл бұрын
​@@genroa3881 yes... just because Angular stinks (and, good grief, does it stink!) it's unfair to say all the Frameworks stink.
@Mirage2020
@Mirage2020 6 ай бұрын
​@@genroa3881 until it grows, becomes a mess and a new framework that will actually be good will emerge. We have seen this same situation over and over and over, angular 2 was created to fix React development after all!
@gammalgris2497
@gammalgris2497 Жыл бұрын
I've had my own "JavaScript moment". When I was greenhorn I made some custom software for my job within 2 months. It was overengineered. It did some things good and some things bad. after more than 10 years in use (and still being used) it taunts me. The software has grown since then. I had added unit tests over the years and cleaned up code as good as I could. But I still need to throw out code and features that never were used. Would I do the same again today I would do it differently.
@matthewtrow5698
@matthewtrow5698 Жыл бұрын
Perhaps the popularity is very much down to the looseness of the language - that it isn't prescriptive, that it can be easily manipulated (and abused) - much like languages such as PHP. Of course, the other bigger reason is just how easy it is to use and run - everyone who wants to use the web has a browser. It reminded me, personally, of the early days of cheap home computers and the BASIC programming language and perhaps many people who grew up learning to code on these computers could easily adopt JavaScript - it was accessible, very accessible. (Not in an ARIA sense ... 😄) My own career started in an analogue manner - I was a draughtsman using pen and ink, however, as a child (a teen), I had a ZX81 and later a ZX Spectrum and learned to code in BASIC. It was just a hobby - back in those days, there was still a MASSIVE leap for most young people to actually go from that to a career in software development. Then the web came along. As we know, it changed a great deal. One of things it changed was easy access for anyone to learn to code - first with basic HTML and then with JavaScript. I don't hate JavaScript, I never have - I think it is ridiculous to hate something as abstracted as a computer language. It has multiple flaws, but so do all computer languages. These days, we're seeing Java developers move over to JavaScript - it has matured to such a degree and has more than proven its plasticity as a language. TypeScript has been a godsend in that maturity. Don't hate JavaScript, that's just silly.
@matthewtrow5698
@matthewtrow5698 Жыл бұрын
After reading through a lot of the comments here, it seems most people actually DO enjoy JavaScript - and that's my own anecdotal experience too. JavaScript itself is very easy to learn. What is hard to learn is all the abstractions and libraries that have been built up around it. 🤔 - sounds familiar? - it will to Java developers. I recall chatting to a number of old school Java devs who felt everything had become massively bloated and complicated - but it's always the _tooling_, the third party _libs_ and the _deployment_ that does this - along with associated tech such as networking. The core language remains, it's when you start to add layers and layers of libraries that things get complicated. Never confuse the base language with the third party libs that are added and say "this is so confusing" - this is SO difficult for newcomers, in any language. "Where does the core functionality start and end?" 😕 Rather learn the base language _first_ - become adept with it - then suddenly, the third party libs can be made sense of, either "This is rubbish" or "this is ok, but I can do better" or "This is profound, I'm using that lib" When it comes to JavaScript, it isn't the language itself that is hard to learn, it's all the myriad of complexities built on top of it. Many newcomers confuse concepts such as networks etc. as being part of JS - because they don't know any better. That makes them feel confused. Take a step back, learn the basics. Those basics are very easy. But I will fess up and say ... the core language ... goodness me, it has some _very_ odd idiosyncrasies 😆
@TifTif86
@TifTif86 Жыл бұрын
IMHO JS was created for smaller projects but nowadays it is used for huge projects. It is like using a garden shed build kit to build skyscraper. So it is a wrong tool for the task thing.
@ApprendreSansNecessite
@ApprendreSansNecessite Жыл бұрын
The best thing that happened to JS was building and transpiling. It's also the very thing that makes it less accessible and instantaneous, but also less relevant as so many better languages compile to JS nowadays. I have to say that there are languages dislike more than JS. I've been writing a lot of Dart lately and it really made me miss Typescript.
@krux02
@krux02 Жыл бұрын
"transpiling" is just an euphemism of "compiling" for people who are afraid of the word "compiler".
@ApprendreSansNecessite
@ApprendreSansNecessite Жыл бұрын
​@@krux02 transpiling is compiling to the same level of abstraction, no need to be judgemental.
@YonoZekenZoid
@YonoZekenZoid Жыл бұрын
@@krux02 except compiling results in binary code. transpiling results in code in another high-level language
@ApprendreSansNecessite
@ApprendreSansNecessite Жыл бұрын
​@@YonoZekenZoid When you compile to WASM or Bytecode you compile to a lower level language but it's still not binary. Also, what should we call the process of converting Purescript to Javascript? I think there is no hard boundary between transpilation and compilation. When the generated code is "close enough" to the source code, I call it transpilation, (not sure what to call what Dart's build_runner is doing), and when it's substantially different I call it compilation. The transformation from TS to JS is big enough for me to call it compilation because there is a big loss of information but it's the same language at runtime. Anyway, if this conversation not uninteresting philosophically, it's really not interesting as a debate
@vitalyl1327
@vitalyl1327 Жыл бұрын
@@ApprendreSansNecessite it's a really bad term. Compilation does not define what's the level of the source and target language. A lot of modern compilers consists of dozens of tiny compilers that translate a language into a nearly equivalent language, with some minor changes. Adding some babble like "transpiler" to the mix just confuse people and obscures the meaning of compilation.
@Squeeeez
@Squeeeez Жыл бұрын
Ah, the good old days. Maybe we got lucky though, how would you minify out all those scheme parentheses?
@akrishnadevotee
@akrishnadevotee Жыл бұрын
I really enjoy writing JavaScript with TypeScript. It feels very cool to write stuff quickly and the javascript ecosystem is very new and fast in both development and deployment. Comparing it to something like Java, I'm so glad that javascript exists.
@scullyy
@scullyy Жыл бұрын
Java, javascript and jscript? Come on now lads...
@adambickford8720
@adambickford8720 Жыл бұрын
I just can't imagine writing javascript when TypeScript is a thing. Understanding static types and generics is a pretty low bar for a dev.
@PeerReynders
@PeerReynders Жыл бұрын
14:28 > … it saves people writing front-end code from needing to learn another language … That may have been true back in 2013 when stacks like MEAN and MERN emerged. With the arrival of Gen 3 (moniker by Igor Minar in “experiences. Web. frameworks. future. me.”; not to be confused with Web 3.0) it addresses the “one application for the cost of two” problem that Gen 1 (jQuery & Ajax) suffered from. It was necessary to (1) build the server side application and then (2) graft the client side behaviour on top of that to compose the complete application. Gen 2 moved most of the application logic to the browser, even rendering (client side rendering, CSR; single page applications, SPA) relegating servers to provide support services. As SPAs became more complex, bundle sizes ballooned, tanking client side performance and thereby UX. Gen 2.5 added SSR (necessitating server side JavaScript as the client rendering code was executed server side) to improve FCP (First Contentful Paint) but didn't reduce total bundle size, continuing to tax UX. Gen 3 is the “what can be done on the server will be done on the server; what needs to happen on the client will be done on the client” strategy. It's a server-first vision that makes the client an extension of the server. Gen 3 could hypothetically be done in any language but using JavaScript eliminates the opportunity cost of having to build browser targeting transpilation tools; that effort can be redirected to addressing other (perhaps more profitable) concerns.
@SB-qm5wg
@SB-qm5wg Жыл бұрын
now it's the framework wars
@LewisCowles
@LewisCowles Жыл бұрын
I'm paid to work with JavaScript. I don't think any of this covers why JS succeeded. It was the ONLY way to code in popular browser clients without plugins. (captive market) You can write code, refresh and immediately begin to observe behaviour, so there is a low barrier to entry and to deploy, with lower technical constraints. (new developer experience) Engineers working on lower-level systems, have made exposed those to JS. It's the nicest scripting language for C++, and solves a lot of early design problems. (lots of readily available ingredients) Its Interfaces were relatively stable for a lot of its lifetime, unlike more advanced systems such as ActionScript, which had Typing long before JS. (stable interfaces) Why node succeeded is that it allowed that pool of users to step through the looking glass and start solving server-side problems. I Don't understand why people hate on JS; all languages have their edges and are awful in some ways. Popularity should not be important once any language has a million or so coders (worldwide) it has enough of a pool of talent.
@genroa3881
@genroa3881 Жыл бұрын
Nowadays with hot reload you don't even need to reload anything, the entire app updates on the fly. I really miss it when I work with other stacks...
@vitalyl1327
@vitalyl1327 Жыл бұрын
Not all languages. Some are vastly more awful than the others. Good languages tend to be designed by people who know what they're doing, who have a deep knowledge in PLT and in compiler construction. Really bad languages, like Javascript, PHP and Python, tend to be designed by eager amateurs. Somewhat less crappy languages are designed by amateurs but later fixed (or at least specified) by professionals - case in point here is Java, with spec written by Guy Steele Jr.
@chrisjsewell
@chrisjsewell Жыл бұрын
“The nicest scripting language for c++” Python might have something to say about that lol, or you just switch to Rust 🤷‍♂️
@vitalyl1327
@vitalyl1327 Жыл бұрын
@@chrisjsewell I'd say both Python and JS are exceptionally awful scripting languages and must be avoided. There are far better options.
@chrisjsewell
@chrisjsewell Жыл бұрын
@@vitalyl1327 like?
@ChronoWrinkle
@ChronoWrinkle Жыл бұрын
Having worked more than 10 years in game industry i can confidently say that problems always stem from people, not languages. Even though i dislike js ive seen some ugliest cpp and cs code that shouldnt even exist. Still think it is rather most used than popular language, since alternatives are what? webassembly? Webgl?
@mechantl0up
@mechantl0up Жыл бұрын
The people who claim that JS is easy to learn are the same people who say it is horrible, and those are also the people who when asked to produce a case for their arguments cannot do so, since they do not actually know JS. They have just heard a chum say so and parrot these points. People who have taken the effort to properly learnt JS (and need not rely on jQuery or any framework if needed) are, in contrast, more humble. And they also like JS more than those who try to use it like some other language which they know but which JS is not. I have seen this with other languages, too, of course. It is hilarious to watch a C++ guy write Python like C++ and complain how unwieldy the language is. Yeah, I guess it is, then…. a poorly designed language. A tool is ever only as good as its user. And I cannot say I have seen much bad JS code where the language was the true limiter.
@vitalyl1327
@vitalyl1327 Жыл бұрын
now ask any PL theorist what they think of JS. Language is objectively very poorly designed.
@edgeeffect
@edgeeffect Жыл бұрын
@@vitalyl1327 But this is also true of pretty much every other language there is.
@vitalyl1327
@vitalyl1327 Жыл бұрын
@@edgeeffect some languages were designed by PLTists, e.g., Scheme.
@xybersurfer
@xybersurfer Жыл бұрын
what would code look like where JS was the true limiter? do you have the ability to recognize it? especially as you would probably only see things that worked out in the end
@chakritlikitkhajorn8730
@chakritlikitkhajorn8730 Жыл бұрын
@@vitalyl1327 I think PL theorist will think badly of many industrial languages out there.
@gunnarthorburn1219
@gunnarthorburn1219 Жыл бұрын
I love JavaScript for what it allows me to do. Focus on the business problem rather than the language and technology. Being able to run JS both on the server and the client is great from a technical point of view. When I need a new piece of code it is not an architectural decision to put it in backend or frontend - I just write it in JavaScript and test it with mocha (backend). Then I can deploy it backend, frontend or both, whatever turns out to be most useful. With another backend language, implementing an important feature and later realising I need to run it on the other side (or both sides), would create much complexity and extra work. JavaScript is very minimalistic, so it is very easy to do very stupid thing. I agree it is not a good or easy beginners language. But for an experience developer who wants to focus on what the code should do, rather than the form and syntax of the code, JavaScript is great.
@raylopez99
@raylopez99 Жыл бұрын
Probably I would imagine if iyour JS project is not a Big Ball of Mud and you're enjoying it then you're either a JS guru or you're not doing anything really complicated with it. I am learning I think JS now (not really sure, lol) having last done web stuff, as a hobby programmer, about 15 years ago and I do recall using Ajax, GET POST and something something, two other commands, from memory, and ASP, but when I saw how trivial it was to break compiles I switched to Silverlight which was great for a frontend (Linq-to-SQL and C# on the backend). I did a Hello World on PHP (is that JS?) and React (is that JS?) the other day, but nothing more as I am learning functional programming in Rust (surprisingly easy, one day into it I see how to do most stuff). Happy coding.
@ssg6499
@ssg6499 Жыл бұрын
The only part about the video that i didn't like was the provocative title; Agree with everything else. Context: JS dev 13+ years, programming for 20+ years.
@CubOfJudahsLion
@CubOfJudahsLion 5 ай бұрын
Conclusion: JavaScript is an improvised language for the early web. 30 years laters... it still is.
@dougwco
@dougwco Жыл бұрын
It would be interesting to hear if anyone has tried alternatives to JS, that seemed worth looking into. I’ve done a bit with JS here and there, never loved it, but could also find things I liked less. Currently I’m working on a project using Phoenix LiveView. It is an interesting approach that lets me write all my code in one language run on the server, yet still have impressive interactivity via updates and events passed over a web socket. It is surprisingly efficient (so far), and very responsive in my use-case. I’m guessing there are plenty of examples where it would be a poor choice. Though it is performant enough that there are examples out there writing games like Tetris with it. My guess is there would be limits with this approach if you had 100,000 users, but then maybe one could just scale out.
@Ogbobbyjohnson92010
@Ogbobbyjohnson92010 Жыл бұрын
Used WASM (compilation target via Rust), and can say for a fact that Javasript is a far far better alternative for web development
@MarkMark
@MarkMark Жыл бұрын
Same here - I was avoiding UI work my whole career, but LiveView makes writing UIs a reasonable and reasonably pleasant thing to do. I also had a good experience with Elm.
@dougwco
@dougwco Жыл бұрын
@@ThomasVWorm I was speculating about the approach used by Phoenix Live View as a replacement for writing JS, not the BEAM. And ultimately, there is so much I don't know, please read it as speculation, not declaration.
@jeezusjr
@jeezusjr Жыл бұрын
HTMX for those that want to avoid the JavaScript ecosystem as long as possible. I tried Typescript and it is better, but still JavaScript in the end.
@RadoMich
@RadoMich Жыл бұрын
1:14 it seems to have become a biggest vice in JS community to this day 🤣
@julian_handpan
@julian_handpan 8 күн бұрын
Love the shirt! :D
@CamembertDave
@CamembertDave Жыл бұрын
I feel like you kinda danced around the point. The web needs *A* scripting language. Javascript happened to be the first one that became widely used. Now everyone is locked into using it, no matter how bad it is as a language.
@eric-seastrand
@eric-seastrand Жыл бұрын
I positively love JavaScript. Just the base language- not the frameworks. The dependency/framework hell we have today wouldn’t be so bad if people just learned the base language more deeply. I think this is a lot of where the hate comes from(not the language but the amalgamations of unreliable crap built on top)
@xybersurfer
@xybersurfer Жыл бұрын
but that's kind of a symptom of a bad base language. it contains so much junk that people don't know which parts they should be using. i think that the "this" keyword was one of the worst inventions in the base language, that should never have existed
@FahmiNoorFiqri
@FahmiNoorFiqri Жыл бұрын
After working with JS in backend for 4 years, almost 1/4 of my hair turned white
@Mirage2020
@Mirage2020 6 ай бұрын
Javascript is popular not because it is good but because it's the only thing that any modern browser can run natively. Javascript is an horrible language with fundamentals flaws that makes me happy not being a web dev.
@brownhorsesoftware3605
@brownhorsesoftware3605 Жыл бұрын
When the only tool in your toolbox is a hammer, everything looks like a nail. When your only software tool is a browser, everything looks like a website. I was around in the early Netscape days when I worked on the Symantec JIT. They were one of our customers and once sent me the browser source for testing on a jaz drive. Too big to transmit in the 90's. But that was real Java...
@edgeeffect
@edgeeffect Жыл бұрын
I'm using Deno to write a program generator for drivers for USB chips... nothing in it looks the slightest bit like a webpage.
@brownhorsesoftware3605
@brownhorsesoftware3605 Жыл бұрын
@@edgeeffect Thanks, you prove my point.
@trappedcat3615
@trappedcat3615 Жыл бұрын
Am I the only one who love JavaScript. I mean, it's not as bad as CSS.
@christiannies3822
@christiannies3822 Жыл бұрын
what is that for a comparison…? 🤔
@xybersurfer
@xybersurfer Жыл бұрын
because you only know JavaScript and CSS? maybe you don't know JavaScript well enough to know the bad parts? JavaScript and CSS are not completely separate. you can for example change the CSS of HTML elements using JavaScript.
@068LAICEPS
@068LAICEPS Жыл бұрын
I love Javascript. I dont like creating Interfaces, Abstract classes and so on. I interacting with events is really fun.
@sneibarg
@sneibarg Жыл бұрын
I don't get the shirt. Does it have something to do with putting a process in the background?
@xybersurfer
@xybersurfer Жыл бұрын
i think it's about the movie Back to The Future, which is about time travel. pressing CTRL+Z (undo) is like traveling back in time
@sneibarg
@sneibarg Жыл бұрын
@@xybersurfer Oh, duh. Not sure why that wasn't my first thought.
@tranquillityEnthusiast
@tranquillityEnthusiast Жыл бұрын
Sir I love all your vedios, please make a vedio on microservices with js
@godnyx117
@godnyx117 Жыл бұрын
We use it because it's the only "native" option we have. End of story.
@gordonmullen7272
@gordonmullen7272 Жыл бұрын
Continuous Delivery Team with Mr.Farley, Great job guys(galls) and a hearty thanksgiving for being so informative! Furthermore, delivering an accumulative summing of all the tangled complexities of a very noisy software industry: an industry which offer's uncountable variants in practices and with each one possessing differing angles and perspectives. From the belly of the beast, you have smartly delivered a genuine, and definitive object()! An object() modeled after an impossible simplicity , yet achieving the simplistic by producing a very focused outreach which clearly manifest' its purposes: a true desire for the singularity of software engineers attaining a professional height and a cooperative symmetry of software engineers convening harmoniously on the same page of understanding and standards.
@fennecbesixdouze1794
@fennecbesixdouze1794 Жыл бұрын
JavaScript is the world's most popular programming language because every computer on the planet has one or more full JavaScript environments installed in the form of a web browser. It's that simple.
@stevenleonmusic
@stevenleonmusic Жыл бұрын
I've always liked JavaScript. It makes learning programming ridiculously accessible because all you need to create a fully-functional program with a GUI is any working browser. I like C# but it's object-oriented to an absolute fault. C++ can be a lot of fun but going beyond a console app is a lot of time and energy. PHP is convenient as all get out but the syntax can be downright annoying (seriously, -> operators to access class properties?). JavaScript is just in a nice, comfortable spot right in the middle. The lack of static typing can make some development tasks inconvenient but I've discovered quite a few work-arounds that help with code hinting, etc. so overall I'm pretty happy with it. And I stick to Vanilla JS and basic ES6 module usage-none of that building and transpiling garbage.
@christiannies3822
@christiannies3822 Жыл бұрын
yeah and no need for proprietary type system, if you only manipulate the dom 👍
@YonoZekenZoid
@YonoZekenZoid Жыл бұрын
fun fact: that "->" operator nonsense in PHP actually comes from C++, or I should say, C++ was the first language I ever encountered such a thing
@stevenleonmusic
@stevenleonmusic Жыл бұрын
@@YonoZekenZoid Yeah I'm familiar with -> in C++ but you only have to use it when using pointers and I just feel like I can always find 15 ways to avoid it or it's just not something I have to use constantly whereas PHP only has that one operator for class member access so you just have to do it nonstop and it's especially annoying when you have objects in your objects and have to chain them together. PHP has a lot of idiosyncrasies that seem like vestiges of its very early days.
@YonoZekenZoid
@YonoZekenZoid Жыл бұрын
@@stevenleonmusic oh, for sure! I'm just saying PHP took that syntax from there. It actually borrowed some other quirks from C-++, but I don't rly remember which ones, 'cause I haven't programmed in C/C++ for decades, and I hate PHP, so when I need to find something about it, I just google "PHP sucks" xD
@hashtag9990
@hashtag9990 Жыл бұрын
because there wasn't any other option for the web, so we are forced to use javascript nothing else
@milosmisic3879
@milosmisic3879 Жыл бұрын
Suzana sent me here!
@HelloThere-xs8ss
@HelloThere-xs8ss Жыл бұрын
bc people will complain about anything and everything. There. lets keep it real here.
@bilimlink
@bilimlink Жыл бұрын
If A programming language like JavaScript has not been created so far, then we will create the one just as same as it.
@vitalyl1327
@vitalyl1327 Жыл бұрын
you're just saying that "worse is better". You're right. Humanity have a tendency for falling for the worst possible solution when multiple options are available. Did it over and over again. Javascript is a perfect example of such, an extremely awful language design, made at a time when PLT was already extremely advanced and people knew exactly how to construct languages fit for any given purpose.
@bvaroni
@bvaroni Жыл бұрын
Fullstack shines with tRPC
@peterlinddk
@peterlinddk Жыл бұрын
I am teaching JavaScript to new software developers. I don’t believe that ANY programming language is easy or hard to learn as a first language - I have seen students struggle with C, C++, Java, Python, C#, and JavaScript, and what is hard is always: thinking algorithmically, understanding function-parameters, return-values, and scope; generalising code to use functions or loops, and building larger programs consisting of several “components”. Everything being almost exactly the same in all languages. But I do see that JavaScript inspires students to experiment much more, and “play around” with code, than e.g. Java, since they can build something close to actual applications, rather than Sieve of Erastothenes, recursive Fibonacci-sequences, linked list implementations, and all those computer-science things from the last 60 years. I think that a lot of the JavaScript-“haters” try to impose other languages’ structures onto JavaScript, like someone trying to speak a foreign language with their own local accent. And while you can write something that looks like Java in JavaScript, it doesn’t run well, it is hard to write, even harder to maintain, and leaves you with the impression of a “bad language” - like driving a bicycle on railroad tracks makes it seem like both bikes and railroads are badky designed. I also hear a lot of “hate” that mostly seems to be that the language doesn’t support this of that fancy feature that was really difficult to learn in another language - like “I spent so much time learning X, but they can program in JavaScript without knowing X, so JavaScript is a bad language!” …
@christiannies3822
@christiannies3822 Жыл бұрын
Javascript should only do, what only Javascript can do. Itis nice for dom manipulation and fetching data. I am really looking forward to the ne web component specs ahead, that enables us to create custom elements without the need for js 🤗 and yes: i do remember my first js image rollovet 20+ years ago ;)
@genroa3881
@genroa3881 Жыл бұрын
The Web Component spec is a...JS spec. You can't really write custom logic for your components without it.
@christiannies3822
@christiannies3822 Жыл бұрын
@@genroa3881 Shadow DOM, yes. HTML Templates partial. So all in all, i do see a nice coexistence of technologies here, but also observing a tendency towards less js and more declarative direction. my favorite pattern is attribute-property sync, so aligning imerative and declarative apis. i am definitely not against js at all and having feature parity can only support us in terms of reach (think of declarative shadow dom for example: allows for SSR and safari 16.4 shipped support for it 🤗 all in all one of the most exciting times in web since 15 years to me
@leapingblackcat
@leapingblackcat Жыл бұрын
What did Brendan Eich do for the remaining 5 days?
@gordonmullen7272
@gordonmullen7272 Жыл бұрын
I've always said, "It's not the spear dummy, It's the spear chunker!"
@salvatoreshiggerino6810
@salvatoreshiggerino6810 Жыл бұрын
I'm no fan of JavaScript, but I've never seen a more pleasant static type system than TypeScript.
@ApprendreSansNecessite
@ApprendreSansNecessite Жыл бұрын
Hi, could you name a few static type systems you have used (or even simply tried/learned about)?
@vitalyl1327
@vitalyl1327 Жыл бұрын
really? Have you ever seen any proper dependently typed language?
@salvatoreshiggerino6810
@salvatoreshiggerino6810 Жыл бұрын
@@vitalyl1327 Yeah, I'd rather work with those, but enterprise shitware is how most of us put food on the table. I just find TypeScript to be a really good fit for that.
@vitalyl1327
@vitalyl1327 Жыл бұрын
@@salvatoreshiggerino6810 Ada (SPARK) is what both pays well and got a really good type system. And projects tend to be far more exciting than the typical corporate stuff - automotive, aerospace, other kinds of high reliability embedded...
@kamertonaudiophileplayer847
@kamertonaudiophileplayer847 Жыл бұрын
You maybe hate JS, but I love it.
@PeerReynders
@PeerReynders Жыл бұрын
Oracle is back at it again: “We HATE ECMAScript (But Still Use It)” just to be safe 😉
@user-yj1qt2vh4e
@user-yj1qt2vh4e 9 ай бұрын
Anything that can be build on js will be build on js
@notramiras
@notramiras Жыл бұрын
Common mistake from people coming from a Java background to characterize JS's popularity with circumstantial factors - "right time at the right place". No. VBScript and others were there as well, JavaScript won because of its function-as-a-first-class-citizen capability and total flexibility.
@chakritlikitkhajorn8730
@chakritlikitkhajorn8730 Жыл бұрын
@@ThomasVWorm Agree. Also, Java Applet, ActiveX, Flash, Silverlight. All dead.
@karolszymanowski518
@karolszymanowski518 Жыл бұрын
Typescript is my primary language and I love it.
@r_rumenov
@r_rumenov Жыл бұрын
I don't get why people hate on js so much. I've got a decade of experience with C++, another one with C# after that and 8 years with js (& then ts) in the meantime. Over time, js (particularly ts) has become my go-to tool for most projects due to the exceptional DX in both the back-end with Node and in the front-end with React, as well as for desktop apps with Electron. It's fast, flexible and reliable when written properly. There's a right tool for each job and JavaScript is a great tool for a lot of jobs.
@zoladkow
@zoladkow Жыл бұрын
"we" as in "royal we"? JS just works, it can be used to do great things with nothing more than a webbrowser. It is a tool, it serves it's purpose.... Why anyone would hate that? 🤷
@xybersurfer
@xybersurfer Жыл бұрын
because it could have been so much better at serving it's purpose, that's why
@vitalyl1327
@vitalyl1327 Жыл бұрын
if you're given a hammer made of dung and told that it's the only tool you're allowed to use, will you hate those who put you in this position? I bet you would. And JS is exactly this hammer made of dung, when what you really need is a full garage of tools and machines.
@Mirage2020
@Mirage2020 6 ай бұрын
I hate when some people try to make JS work on the server and IoT. JS it's an horrible language for anything but managing request and events on the browser. The loosely, dynamic and weakly type systems makes it a nightmare ti code and maintain for anything bigger than a 100 lines of code or even worse, working in a team. The broken semantics that allows atrocities like adding objects with arrays (and get an string as a result) it's just one little example of how easily is to create crappy buggy code that it's also almost imposible to properly debug, no type checking in execution time it's a mayor security breach that cannot be fixed without broken the whole ecosystem, all numbers being 64 bit floats makes JavaScript software to be RAM and CPU resources devourer aberrations for any computer operation that is not an I/O, the reactive/async nature of the ecosystem makes the language propenso to callback hells for everything but I/O (where you can replace callbacks with promises) If frontend web devs are forced to use and even love that crap called Javascript bcoz it happens to be the only thing that your browser can natively execute it's ok, keep it away from where we like to use languages and tools that at least have some kind of internal semantic and coherence.
@katsup_07
@katsup_07 Жыл бұрын
The dynamic typing is annoying and leads to mysterious errors at times, but Typescript fixes that. JS gives you total freedom, but if you want more control, there are many frameworks to choose from. Honestly, if you explore what there is on offer within the JS ecosystem, there's plenty of good there. It's not perfect, but no programming language is. They all have their pros and cons and JS does what it sets out to do quite well. That's why it's popular and used so widely.
@mlntdrv
@mlntdrv Жыл бұрын
Typescript fixing the mysterious errors is a bold statement. It fixes some of them, but is still far. Type safety for catching errors is still a myth. Another huge whole in type safety is the type guard, where everything is in the hands of the developer, instead of a compiler, so you can see why you have to be 100% alert - I don't like that. And all that with the strict flags enabled. Oh my, I almost forgot the king of all type unsafetiness - any.
@christiannies3822
@christiannies3822 Жыл бұрын
Nice timetravel :)
@henryhargraves4184
@henryhargraves4184 Жыл бұрын
I started JavaScript because I wanted to start Java but was a noob er well . By the time I figured it out I was in too deep haha 😂 never too late to start Java I guess.
@MuratKeremOzcan
@MuratKeremOzcan Жыл бұрын
If you do FP, JS is love.
@vitalyl1327
@vitalyl1327 Жыл бұрын
It can't even do guaranteed TCO. How can you FP with it?
@abogdzie
@abogdzie Жыл бұрын
After experience with C/C++/PHP/C#/Objective-C/Swift browser's JS and even TypeScript are still terrible. I was trying to learn TypeScript hoping it will fix JS experience, but I was disappointed. No idea why they don't clean this mess in Web until now especially part related to OOP and data structures manipulation. Syntax is everything.
@StupidusMaximusTheFirst
@StupidusMaximusTheFirst 9 ай бұрын
It's just the lang we love to hate. 😃
@masafromhell
@masafromhell Жыл бұрын
Love your shirt
@destroyonload3444
@destroyonload3444 Жыл бұрын
pro tip: npm i typescript 😎
I Bet You’re Overengineering Your Software
19:58
Continuous Delivery
Рет қаралды 23 М.
Why Pull Requests Are A BAD IDEA
19:13
Continuous Delivery
Рет қаралды 227 М.
Happy birthday to you by Tsuriki Show
00:12
Tsuriki Show
Рет қаралды 11 МЛН
Bony Just Wants To Take A Shower #animation
00:10
GREEN MAX
Рет қаралды 7 МЛН
Кадр сыртындағы қызықтар | Келінжан
00:16
هذه الحلوى قد تقتلني 😱🍬
00:22
Cool Tool SHORTS Arabic
Рет қаралды 33 МЛН
My Response To The NONSENSE McKinsey Article On Developer Productivity
13:58
Continuous Delivery
Рет қаралды 174 М.
Synchronous vs Asynchronous Programming
20:31
Continuous Delivery
Рет қаралды 25 М.
Software Architecture Tips I WISH I Knew Sooner
18:04
Continuous Delivery
Рет қаралды 44 М.
Is This Why You’re Bad At Programming?
20:09
Continuous Delivery
Рет қаралды 84 М.
I’ve Found Something BETTER Than Pull Requests...
23:36
Continuous Delivery
Рет қаралды 49 М.
I Feel Bad For New Programmers
19:12
ThePrimeTime
Рет қаралды 432 М.
The ESSENTIAL Qualities Of GREAT Development Teams
21:18
Continuous Delivery
Рет қаралды 15 М.
Is SAFe REALLY Safe?
20:00
Continuous Delivery
Рет қаралды 36 М.
PHP - Why Coders Hate...
9:00
Eli the Computer Guy
Рет қаралды 55 М.
Git Flow Is A Bad Idea
16:13
Continuous Delivery
Рет қаралды 284 М.
Happy birthday to you by Tsuriki Show
00:12
Tsuriki Show
Рет қаралды 11 МЛН