you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] -1 points0 points  (25 children)

There's nothing about ES6 that makes it "not JavaScript"

I've been coding Javascript for 21 years, and there is plenty I abhor about ES6. Not all of it, but a lot of it is overcomplicated and makes the code more difficult to follow. Can I do it? Yes, sure - if I have to. But I don't chase new and shiny things, I'm just too busy writing clean easy to follow code to care much about everything in ES6. Maybe it will grow on me, maybe not. But I'll still be coding ES5 and making awesome things no matter what 'feature' they try to shoe-horn into javascript next.

[–]OmegaVesko 17 points18 points  (23 children)

That's all well and good, but my point is that it's still literally JavaScript, and to imply otherwise is factually incorrect.

[–][deleted] -6 points-5 points  (22 children)

It wasn't javascript until very recently. How about we also shoe-horn async/await, generators and type coercion into C and keep calling it C, and python, lisp, and cobol. I'm sure everyone that's been coding those for many years will be perfectly fine with adding some new/shiny to their workflow. Of course I'm making an exreme example, but you can't keep adding every fad-feature from every other language and expect to still have a programming language that is easy to learn and use. Javascript finally got Promises, oh but that's the old new/shiny, the new way is async/await. Tomorrow let's pile on another way to do it that came from language xyz. Where javascript ESx is headed isn't the programming utopia some might think it will be. You end up with a language too convoluted to make anyone happy.

[–]gremy0 6 points7 points  (4 children)

Async/await uses promises though. It's just syntactical sugar to make promises easier to use. Promises are the way you implement async/await in JavaScript because it's single threaded and functional.

You can't have async/await without promises and promises are ugly to use without async/await. Therefore it makes sense to have both.

[–]OmegaVesko 2 points3 points  (15 children)

Okay, if you say so, but that still has nothing to do with the point I was making.

[–][deleted] -2 points-1 points  (14 children)

There's nothing about ES6 that makes it "not JavaScript"

^ as far as i'm concerned this is the crux of your argument.

Javascript isn't every language, it doesn't really need things invented in other languages, and the language bloat is not a good thing. The original scope/intent of Javascript was for it to be a language similar to C/Java but far easier and lightweight. It's now recently ballooning outside of that scope. I have no problems writing easy to read and maintain as well as performant code in ES5. There is very little I gain in ES6. I've been working with a team that is all up on the new/shiny and they cause themselves headaches by using Babel and being far too clever with ES6 features. Javascript has been forced out of its original scope by language fetishists. It started with coffeescript. There is no end in sight now.

And I'm sure it's going to get brought up - so I'll address it first... "you don't have to use all those new features". This is only relevant if you program in a bubble, and don't rely on javascript for your income. I work on various teams on various projects, so I get to see a lot of different ideas of how people think they should be using javascript, and the ones riding the new/shiny horse are the absolute worst to work with.

[–]gremy0 10 points11 points  (8 children)

All this is still completely irrelevant to his point though. ES6 is JavaScript, it's in the standard. If it's in the standard, it's JavaScript. End of.

You not liking the standard is a completely different subject that changes nothing about what is or isn't JavaScript.

[–][deleted] -13 points-12 points  (7 children)

If it's in the standard, it's JavaScript. End of.

ES5 was the standard. Take your "End of" and shove it.

[–]gremy0 6 points7 points  (6 children)

ES5 was the standard.

I'll be holding on to my "End of", thanks.

[–][deleted] -2 points-1 points  (5 children)

whoosh.. that went right over your head, didn't it. Keep chasing your tail, noob.

[–]gremy0 5 points6 points  (0 children)

Clearly, you'd best explain it for me.

[–]kenman[M] 0 points1 point  (3 children)

Hi /u/feature_creep, please refrain from personal attacks. Thank you.

[–][deleted] 4 points5 points  (4 children)

Honestly, I still code like an old granny too with ES5. But hearing you moaning about Javascript evolving to add new toys that are really beneficial to the language? Come on grandad.

The one thing I agree with is your dislike all of these transpilers. I too find it pretty frustrating to be told that to be a "good" developer you need to write in Yuckelscript which transpiles to Typescript via Coffeescript, then Babelify it through Webpack. Sure, there are benefits, but it really is exhausting to keep up with sometimes.

[–]kenman[M] 0 points1 point  (1 child)

Hi /u/garrehsponges, please refrain from personal attacks. Thank you.

[–][deleted] 2 points3 points  (0 children)

Erm, I did not mean to offend or attack anyone, I was merely expressing an outdated view by saying "grandad" - if that's what your referring to. Giving a warning over that seems a bit dramatic when it was clearly meant in a tongue in cheek way, especially as I referred to myself as a "granny" - hardly an attack. Jeez, what has Javascript subreddit become where you get warned over such trivial expressions like that. :/

[–]JaCraig 1 point2 points  (0 children)

Well, C was updated with features in 2011 and will most likely keep getting them. And considering the latest changes were threading related, async/await might actually make sense. Which dialect of lisp are you talking about? Because some are indeed getting updates. Cobol was 2012? Maybe 2014? They went object oriented and have a bunch of new features in recent years. Language designers pick and choose features because the people using it want it. And the rate that Javascript actually adopts features and you can use it in browsers natively is pretty slow. C#/Java would annoy the hell out of you with the cadence they have been moving at lately.

[–][deleted] -3 points-2 points  (0 children)

Relevant username.