Yeah they do. Having run a development team, I can venture a guess why: it's a burden maintaining team skills the lager the number of skills your project requires. And in a lot of projects, you have to include Javascript *somewhere*.
It's not so bad as it would sound though. Javascript was inspired by Scheme, and while it may not look much like Lisp it actually supports functional programming pretty well, and functional programming simplifies a lot of server-side problems.
Yeah they do. Having run a development team, I can venture a guess why: it's a burden maintaining team skills the lager the number of skills your project requires. And in a lot of projects, you have to include Javascript *somewhere*.
If the language matters, you're doing it wrong. When you know what you're doing, you're wiring in existing libraries. Every business problem has been solved somewhere. Anyone who tells you how much they love a language is bad at their job...especially if they're comparing one typed language to another. I suppose broad categories, like is it typed? do you have to manage memory? (like C), but beyond those broad considerations, a good programmers spends all day wiring in libraries...rarely writing "pure" c
Nonsense. No carpenter, for example, wants a zillion specialized screwdrivers for every damn thing. I say put #2 Philips heads on as much stuff as possible. Who wants 20T heads on some things, those weird square security bits on other things, flat heads on other things, etc.? It's preposterous.
Tools should be compatible. They don't want one set of blades for Skil, another for DeWalt, and yet another for Kobalt.
Why the fuck aren't batteries standardized anyway? Why the hell should they need to lug arou
Nonsense. No carpenter, for example, wants a zillion specialized screwdrivers for every damn thing. I say put #2 Philips heads on as much stuff as possible. Who wants 20T heads on some things, those weird square security bits on other things, flat heads on other things, etc.? It's preposterous.
So you're saying every carpenter carries around 1 screwdriver? Your explanation there shows me you've never actually done much with carpentry or wood. The square drive is actually quite superior to the Philips head. It gives more force and control and is far less likely to strip it. Kreg and Spax standardized to support that for good reason. The rest I've seen use square or torx. Philips heads slip out of the fastener if you don't use them in a very precise way. Philips and flat heads are very imprecise tools. Torx and square heads fit very precisely. They are far superior for any fastening that matters...want to put a set of wayfair shelves together, sure, Philips is fine because it's ubiquitous and screwing a bolt into a threaded hole doesn't require force. It's meant to be done by people who don't know what they're doing.
Every carpenter, cabinetmaker, and woodworker I've met owns an insane amount of specialized tools...it seems obsessive until you try it yourself. Try ripping a board with a circular saw vs a good table saw...you'll see a massive difference. Try cutting a sheet with a circular saw vs a track saw, you'll see a massive difference. They care about quality and efficiency, not about tool reuse.
Why did I go through that elaborate explanation? There's a perfect parallel. In both cases, you picked the wrong tool. Philips is ubiquitous, but shitty and fundamentally crippled. It's "good enough" for low stakes work like wayfair shelves or in the case of JavaScript, validating form input. When you're doing real work, real business logic, in which mistakes cost a lot of money, you need every advantage you can get. If you have to drive a 6" screw, yes, if you're super careful, you can find a way to make a Philips head self-tapping 6" screw drive successfully without stripping it...or you can do what a professional does and use the right tool for the job. The same applies for JavaScript...you can make it work for business code, but at no advantage that I have seen and I have worked with it directly for years and worked with teams who work with it for even longer....and it has huge disadvantages, or you can use the right tool for the job. Comparing JavaScript to scala is not like comparing fastener heads...its more like comparing a miter saw to a jigsaw. Yeah, you can make that jigsaw cut a board like a miter saw, but it will always produce a worse result, cost more in blade changes, and be a frustrating and time-consuming exercise. You'd never do it intentionally. A jigsaw is designed for something much different than a miter saw. Each has it's uses...precise, repeatable cuts is not the strength of a jigsaw...awkward irregular cuts are. Mission critical business software is not the strength of an untyped language...quick and low stakes code is.
JavaScript is a surprisingly elegant language. (The only real warts are things designed to make it look more like Java, which was stupid, but you can very easily ignore the 'new' keyword and ES5 crap. It's not Java, you morons. Stop pretending that it is and you'll have a much easier time. It's like smashing your windshield and slashing your tires and then complaining that the car is hard to drive.)
Why do people shit on JavaScript without first taking the time to learn it?
I have been working with JavaScript since the 90s, professionally. It used to be my full time job. I know it fairly well. I work with it daily. I use it in the UI because it's the only choice, particularly for quick and low-stakes code.
I shit on JavaScript because I have used it, probably more than you have. In particular, I have had to inherit a 4 year old node.js app from someone who left the company and update it's 3rd party libraries...in an application that is in production and making money. Have you ever worked on an application that actually makes money?...one where your mistakes cost money and could very easily cost your job? If you had worked in a business where a mistake could cost your job, I don't think you'd be so cavalier about JavaScript's "elegance."
Also, is JavaScript elegant? Any shitty language is elegant in the right hands. My Java code is a LOT more elegant because I put a lot of thought into it than most Java devs do. I can write any logic in less lines of code AND make it readable than any JavaScript dev I've ever seen, but that's from 25 years of professional experience and a lot of passion. I am sure many write lots of elegant JavaScript, but it's still fundamentally crippled.
I don't give a rat's ass about elegance. I don't read JavaScript to admire in a gallery or masturbate to. It's a means of performing work for my employer. It's a means of expressing business logic. I don't need it to be beautiful. I need it to be reliable and easy to maintain so I can focus on pleasing my employer by writing useful programs, not wrestling with the fundamental mistakes of the platform.
You and I couldn't agree more about it not being Java. Java is a boring statically typed language which was adopted by the business community and has transformed over 25 years to be the most popular language for business development. It is the right tool for the job. JavaScript isn't. Is Java the BEST language there? It's my favorite, but I am sure it has a lot to learn from scala, kotlin, or go. However, I have never been enthused about other languages because I am an experienced professional. My job it to wire libraries and APIs together. Every business problem has been solved. Just as carpenters don't build custom doors or fasteners under routine circumstance, I rarely write pure code, where the language nuances between different typed languages would help much...but the difference between an untyped language and a typed one is huge, especially when wiring in 3rd party libraries that evolve with time. JavaScript is NOT Java, nor scala, nor go, no kotlin. It is a poor choice when money and your job is on the line.
server side JavaScript (Score:4, Insightful)
Re: (Score:5, Insightful)
Yeah they do. Having run a development team, I can venture a guess why: it's a burden maintaining team skills the lager the number of skills your project requires. And in a lot of projects, you have to include Javascript *somewhere*.
It's not so bad as it would sound though. Javascript was inspired by Scheme, and while it may not look much like Lisp it actually supports functional programming pretty well, and functional programming simplifies a lot of server-side problems.
UI code is much different than backend (Score:2)
Yeah they do. Having run a development team, I can venture a guess why: it's a burden maintaining team skills the lager the number of skills your project requires. And in a lot of projects, you have to include Javascript *somewhere*.
If the language matters, you're doing it wrong. When you know what you're doing, you're wiring in existing libraries. Every business problem has been solved somewhere. Anyone who tells you how much they love a language is bad at their job...especially if they're comparing one typed language to another. I suppose broad categories, like is it typed? do you have to manage memory? (like C), but beyond those broad considerations, a good programmers spends all day wiring in libraries...rarely writing "pure" c
Re: (Score:-1)
No other trade wants FEWER tools.
Nonsense. No carpenter, for example, wants a zillion specialized screwdrivers for every damn thing. I say put #2 Philips heads on as much stuff as possible. Who wants 20T heads on some things, those weird square security bits on other things, flat heads on other things, etc.? It's preposterous.
Tools should be compatible. They don't want one set of blades for Skil, another for DeWalt, and yet another for Kobalt.
Why the fuck aren't batteries standardized anyway? Why the hell should they need to lug arou
Elegance is not needed, reliability is! (Score:2)
No other trade wants FEWER tools.
Nonsense. No carpenter, for example, wants a zillion specialized screwdrivers for every damn thing. I say put #2 Philips heads on as much stuff as possible. Who wants 20T heads on some things, those weird square security bits on other things, flat heads on other things, etc.? It's preposterous.
So you're saying every carpenter carries around 1 screwdriver? Your explanation there shows me you've never actually done much with carpentry or wood. The square drive is actually quite superior to the Philips head. It gives more force and control and is far less likely to strip it. Kreg and Spax standardized to support that for good reason. The rest I've seen use square or torx. Philips heads slip out of the fastener if you don't use them in a very precise way. Philips and flat heads are very imprecise tools. Torx and square heads fit very precisely. They are far superior for any fastening that matters...want to put a set of wayfair shelves together, sure, Philips is fine because it's ubiquitous and screwing a bolt into a threaded hole doesn't require force. It's meant to be done by people who don't know what they're doing.
Every carpenter, cabinetmaker, and woodworker I've met owns an insane amount of specialized tools...it seems obsessive until you try it yourself. Try ripping a board with a circular saw vs a good table saw...you'll see a massive difference. Try cutting a sheet with a circular saw vs a track saw, you'll see a massive difference. They care about quality and efficiency, not about tool reuse.
Why did I go through that elaborate explanation? There's a perfect parallel. In both cases, you picked the wrong tool. Philips is ubiquitous, but shitty and fundamentally crippled. It's "good enough" for low stakes work like wayfair shelves or in the case of JavaScript, validating form input. When you're doing real work, real business logic, in which mistakes cost a lot of money, you need every advantage you can get. If you have to drive a 6" screw, yes, if you're super careful, you can find a way to make a Philips head self-tapping 6" screw drive successfully without stripping it...or you can do what a professional does and use the right tool for the job. The same applies for JavaScript...you can make it work for business code, but at no advantage that I have seen and I have worked with it directly for years and worked with teams who work with it for even longer....and it has huge disadvantages, or you can use the right tool for the job. Comparing JavaScript to scala is not like comparing fastener heads...its more like comparing a miter saw to a jigsaw. Yeah, you can make that jigsaw cut a board like a miter saw, but it will always produce a worse result, cost more in blade changes, and be a frustrating and time-consuming exercise. You'd never do it intentionally. A jigsaw is designed for something much different than a miter saw. Each has it's uses...precise, repeatable cuts is not the strength of a jigsaw...awkward irregular cuts are. Mission critical business software is not the strength of an untyped language...quick and low stakes code is.
JavaScript is a surprisingly elegant language. (The only real warts are things designed to make it look more like Java, which was stupid, but you can very easily ignore the 'new' keyword and ES5 crap. It's not Java, you morons. Stop pretending that it is and you'll have a much easier time. It's like smashing your windshield and slashing your tires and then complaining that the car is hard to drive.)
Why do people shit on JavaScript without first taking the time to learn it?
I have been working with JavaScript since the 90s, professionally. It used to be my full time job. I know it fairly well. I work with it daily. I use it in the UI because it's the only choice, particularly for quick and low-stakes code.
I shit on JavaScript because I have used it, probably more than you have. In particular, I have had to inherit a 4 year old node.js app from someone who left the company and update it's 3rd party libraries...in an application that is in production and making money. Have you ever worked on an application that actually makes money?...one where your mistakes cost money and could very easily cost your job? If you had worked in a business where a mistake could cost your job, I don't think you'd be so cavalier about JavaScript's "elegance."
Also, is JavaScript elegant? Any shitty language is elegant in the right hands. My Java code is a LOT more elegant because I put a lot of thought into it than most Java devs do. I can write any logic in less lines of code AND make it readable than any JavaScript dev I've ever seen, but that's from 25 years of professional experience and a lot of passion. I am sure many write lots of elegant JavaScript, but it's still fundamentally crippled.
I don't give a rat's ass about elegance. I don't read JavaScript to admire in a gallery or masturbate to. It's a means of performing work for my employer. It's a means of expressing business logic. I don't need it to be beautiful. I need it to be reliable and easy to maintain so I can focus on pleasing my employer by writing useful programs, not wrestling with the fundamental mistakes of the platform.
You and I couldn't agree more about it not being Java. Java is a boring statically typed language which was adopted by the business community and has transformed over 25 years to be the most popular language for business development. It is the right tool for the job. JavaScript isn't. Is Java the BEST language there? It's my favorite, but I am sure it has a lot to learn from scala, kotlin, or go. However, I have never been enthused about other languages because I am an experienced professional. My job it to wire libraries and APIs together. Every business problem has been solved. Just as carpenters don't build custom doors or fasteners under routine circumstance, I rarely write pure code, where the language nuances between different typed languages would help much...but the difference between an untyped language and a typed one is huge, especially when wiring in 3rd party libraries that evolve with time. JavaScript is NOT Java, nor scala, nor go, no kotlin. It is a poor choice when money and your job is on the line.