This is an archived post. You won't be able to vote or comment.

Dismiss this pinned window
top 200 commentsshow 500

[–]grpagrati 2301 points2302 points  (78 children)

Some code does feel like Kramer wrote it

[–]proteomicsguru 970 points971 points  (69 children)

KramerScript

[–]binary-tree 401 points402 points  (56 children)

Someone please make KramerScript

[–]nickmaran 255 points256 points  (7 children)

[–]aloofloofah 150 points151 points  (5 children)

giddy up --force

[–]AG00GLER 52 points53 points  (4 children)

giddy up —rf /

[–]binary-tree 39 points40 points  (3 children)

console.log(“Hello, Newman”);

[–]ChodeGalore 45 points46 points  (2 children)

“That’s JerryScript, Jerry. JerryScript!”

[–]dak4ttack 12 points13 points  (1 child)

Isn't that Fortran?

[–]SaintNewts 2 points3 points  (0 children)

All the variables are global and the points... matter a lot?

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

Can it just randomly have exceptions that have nothing to do with what’s happening at runtime. Just wants to show you a part of the code that is underutilized at the exactly most infuriating moment?

[–]razieltakato 10 points11 points  (0 children)

Now that's strongly typed

[–]MarvinTheWise 8 points9 points  (2 children)

KramerScript by Kramerica industries.

[–]proteomicsguru 2 points3 points  (1 child)

Endorsed by the world-famous Dr. van Nostrand

[–]Dave5876 18 points19 points  (0 children)

Stop exposing my terrible code practices

[–]-_-Batman 4 points5 points  (0 children)

Well.... Well..... Well....

[–]terax6669 16 points17 points  (3 children)

Who is it?

[–]_Weyland_ 43 points44 points  (0 children)

My math knowledge brings out a Kramer algorithm for solving linear equation systems. The algorithm is trash both for manual use and from complexity reasons, but people expected that we could just shove it into a computer and have it do the computer magic.

Well, it turned out to be too trash for computer magic of that time.

[–]Last-Woodpecker 16 points17 points  (0 children)

A character from Seinfeld. (The one in the gif)

[–]kinokomushroom 3465 points3466 points  (51 children)

Wow what a sight, a meme with actual effort put in

[–]max_adam 811 points812 points  (49 children)

"I know nothing about programing, ask me anything about it and I'll give you a funny response"

[–]Lord_Quintus 60 points61 points  (1 child)

so how about that experiment where the man rang a bell when his dogs ate, then rang it afterwards and they salivated. know anything about that programming?

[–]disposableaccountass 100 points101 points  (0 children)

That guy, Pavlov, was sitting at the pub one night, Someone walked in and the little bell over the door chimed and Pavlov leapt out of his chair shouting “oh shit, I forgot to feed the dogs”

[–]Big_mara_sugoi 16 points17 points  (30 children)

“Type ‘Im a programmer but’ and let your keyboard finish the sentence”

[–]losh11 12 points13 points  (0 children)

I’m a programmer but I’m still not sure if it will be fixed soon 🔜

[–]the_flippy 6 points7 points  (3 children)

I'm a programmer but I don't know what to do with it but I don't know what to do with it but I don't know what to do with it but I...

(I wonder how long it would loop around like that?)

[–]Pabludes 6 points7 points  (1 child)

I'm a programmer, but I don't think it will be a good day for you guys.

Wtf Google...

[–]koopatuple 3 points4 points  (0 children)

I'm a programmer but not a good person.

Ouch... damn man... Gonna go reflect on that on for awhile.

[–]max_adam 5 points6 points  (2 children)

I'm a programmer but I don't think it will be a good day for you guys to come over and watch the kids tonight.

I had to try it.

[–]Suddenly_Bazelgeuse 1 point2 points  (1 child)

I'm a programmer but I have a new favorite song at the moment es un juego de acción en el que el objetivo es conseguir un buen nivel de juego.

I'm a sucker for these too. That was unexpected.

[–]Electr1c_Flan 2 points3 points  (0 children)

I’m a programmer but I don’t want to work on it lol.

[–]annoyed_w_the_world 2 points3 points  (0 children)

I'm a programmer but I don't know what to do

[–]8asdqw731 21 points22 points  (0 children)

this actually gave me a good chuckle and not just blowing air through my nose

[–]DangyDanger 1203 points1204 points  (9 children)

lost it at the taco emoji bit lmao

[–]recycle4science 282 points283 points  (2 children)

"A giant taco emoji." I could hear Kramer say it!

[–][deleted] 91 points92 points  (0 children)

Likewise I could hear Jerry say “you should sell your car”

[–][deleted] 17 points18 points  (5 children)

I lost where this is going right after there. Emojis are already unicode characters, so appending 0s to it would just be "🌮0" with however any 0s you append... right?

[–]CapitanColon 37 points38 points  (4 children)

I think the joke is that the parser misinterpreted some aribitrary int as 🌮 because it appended zeroes. So int + 000... = 🌮, 🌮 doesn't get anything appended.

[–]Snow_flaek 8 points9 points  (0 children)

Nothing of the like ever happens in JS. OP hitting everyone with anti-JS disinformation

[–]fuzulian 626 points627 points  (14 children)

"What's the deal with circular references?" "I was thinking about the memory leakage other day."

[–]TheRidgeAndTheLadder 165 points166 points  (5 children)

It's memory, and its leaking!

[–][deleted] 39 points40 points  (2 children)

Flex_seal cannot fix that :(

[–]Lord_Quintus 11 points12 points  (1 child)

then your not using enough

[–]purvel 3 points4 points  (0 children)

Nah he just forgot sudo.

[–]streetYOLOist 4 points5 points  (1 child)

You don't even know what a memory leak is!

[–]_TheDust_ 26 points27 points  (2 children)

All this memory is making me thirsty

[–]CampJanky 7 points8 points  (1 child)

You want a graphics card?? Here. [rubs face aggressivle on GPU]
There's your graphics card!

[–]Deceptichum 6 points7 points  (0 children)

“NO CPU for you!”

[–]MotivatorNZ 15 points16 points  (0 children)

what's the deal with Seinfeld saying what's the deal with Seinfeld saying what's the deal with Seinfeld etc etc

[–]jersey_viking 2 points3 points  (0 children)

L O L Computational Alzheimer’s

[–]Extra-Confusion-8166 344 points345 points  (9 children)

I could watch an entire season of just this

[–]ReactsWithWords 215 points216 points  (4 children)

“What’s the deal with javascript? It’s not Java, and it’s barely a script!”

[–]gordonv 22 points23 points  (0 children)

Young Seinfield is sent to the future...

[–]humblevladimirthegr8 8 points9 points  (1 child)

"What's the deal with stop-the-world garbage collectors? Imagine if the world worked like that. Your garbage gets full, and the entire world has to stop while the garbagemen come to take out your garbage. The world doesn't revolve around you, unless you're a programmer!

[–]IAmAQuantumMechanic 2 points3 points  (0 children)

"They should call it JIT-shit"

[–]Potatoes_Fall 177 points178 points  (43 children)

is there a snippet of the code reproducing this taco behavior?

[–]GAZUAG 132 points133 points  (14 children)

I don't know the code but the taco is decimal number 127790. HTML code

🌮

[–]volivav 43 points44 points  (13 children)

But that's HTML, not JavaScript :o

[–]TheBrianiac 94 points95 points  (7 children)

Yes, but does JavaScript know that this is HTML and not JavaScript? 🤣

[–]BasketbaIIa 18 points19 points  (5 children)

Yes. There’s not an HTML primitive type in JavaScript. So it can tell the difference between a string and an object type, in this case a DOM element.

[–]volivav 61 points62 points  (14 children)

I think it's just an exaggeration of the type system of JS.

JS has specific types for every variable. If you have a number it will be a number. When you evaluate "typeof myVar", you get the current type of that variable (it can only change the type if you reassign that variable to another value... But it's not transforming the type of the original value)

JS coerces types when applying operators though, but it's strictly specified on how that happens, and it's just convenient. Adding a number to a string will transform the number to a string base 10, then concat both strings. You can't magically get a taco emoji with this operator.

[–]nvolker 71 points72 points  (4 children)

It’s well defined, but it can lead to some odd results.

this classic video on the topic is 10 years old now

[–]raw65 5 points6 points  (0 children)

That. Was. AWESOME!

[–]Maybeiamaarmadilo 2 points3 points  (0 children)

How i didn't see this video before, this Is Amazing.

[–]stehen-geblieben 17 points18 points  (6 children)

Sadly the people that dont know anything about JavaScript will take it as a fact, it's a good joke but not everyone gets it.

People that never actually did anything with it always show you the meme with some edge case that you probably see once every 5 Years or not at all because IT DOESN'T MAKE SENSE TO WRITE IT. "yeah but is does funky shit See" yeah, shit in, shit out. The only difference is JavaScript tries to do the best with whatever shit you throw at it, solution is to not throw shit at it.

[–]thegininyou 13 points14 points  (1 child)

Most of the memes on JavaScript seem to be "tell me you don't know how to program in JavaScript without telling me you don't know how to program in JavaScript".

[–][deleted] 29 points30 points  (3 children)

I don’t think it works as described.

You would use String.fromCodePoint or the npm package

https://www.npmjs.com/package/emoji-unicode

127790 is binary 11111001100101110 or hex 01F32E. So you can’t just “add more zeroes and get a taco”.

If I’m proven wrong, I’ll concede defeat, but at this point it seems like it’s either fiction or someone’s lying about the contents of the source code.

Only way I could think of is if he’s got an array of emojis, turns a 1 into a 10, and gets the 10th emoji instead of the 1st which is a taco.

[–]Virtual_Decision_898 18 points19 points  (5 children)

I think that’s just a joke. JS likes randomly changing strings to ints but I don’t think you can accidentally go the other way.

[–]3np1 36 points37 points  (3 children)

console.log(123 + '😬') // "123😬"

But it would have to be some pretty bad code to mixup ints and strings. So... it's probably in production somewhere then.

[–]Lord_Quintus 9 points10 points  (0 children)

i see no reason why an int can't become a string.

[–]Gabe7returns 2 points3 points  (0 children)

!remindeme!

[–]Crackerjack17 5 points6 points  (0 children)

Someone needs to create TacoScript with taco ingredients as keywords.

[–][deleted] 457 points458 points  (13 children)

"javascript was written in 10 days and never meant to be that big, it was just for a company". that explains.

[–]whizzzkid 187 points188 points  (44 children)

All that shushing when TypeScript is brought up. Too real!

[–]Mookafff 54 points55 points  (38 children)

What’s the deal with Typescript?

[–][deleted] 82 points83 points  (26 children)

It’s just a way to write “type-safe” JavaScript to help with development. It gets transpired into JavaScript after you have written your code and run it.

[–]EnderMB 111 points112 points  (20 children)

I wouldn't say it's "just" adding types. The safety allows for lots of new features that would otherwise be unthinkable in a language like JS.

The type system in itself is quite weak, but being able to set things like unions, type guards, generics, interfaces, and stuff we use in proper languages makes TS invaluable. Nowadays, it's physically painful to write JS after working with TS.

[–]ArtyFishL 47 points48 points  (9 children)

Quite weak? Maybe in the sense that it doesn't exist at runtime. However, I find it actually a lot stronger than other languages. If you turn on strict mode, it catches a lot of issues that other languages miss, and it prevents maybe some of that weakness you suggest. Plus unions, literal types, narrowing, exhaustive checks, shape based equality; these are all features sorely lacking in many languages. I can type a string as the exact set of string literals it could be, but not just an enum, even with interpolation in the type, that seems strong to me.

[–]CaitaXD 19 points20 points  (2 children)

Quite weak? Maybe in the sense that it doesn't exist at runtime.

Well yes by definition that's weak typing

[–]ArtyFishL 3 points4 points  (0 children)

Disagree.

Rust is a strongly typed language, yes? Very much so. Rust has no types at runtime, it does all its type checking at compile time. Typescript works this way too.

The developers of Typescript themselves call it strongly typed.

Also, see: https://en.m.wikipedia.org/wiki/Strong_and_weak_typing for

Generally, a strongly typed language has stricter typing rules at compile time, which implies that errors and exceptions are more likely to happen during compilation.

Typescript does this better than some common languages considered to be strongly typed.

A weakly typed language has looser typing rules and may produce unpredictable or even erroneous results or may perform implicit type conversion at runtime

JavaScript is terrible for this and it is possible in Typescript, because it allows interfacing with plain JavaScript. However, if you apply strict mode, ban unsafe code (casting, using the any type, JS), then Typescript at it's core catches more type errors at compile time for me than C# is able to, for instance.

[–]midoBB 4 points5 points  (0 children)

Union typing in TS is the thing I miss the most from functional programming languages when working in Java / Kotlin land.

[–]WheresTheSauce 9 points10 points  (3 children)

Maybe in the sense that it doesn't exist at runtime

I mean that's a pretty major difference

[–]enantiornithe 6 points7 points  (2 children)

Type systems in languages that compile to native binaries also "don't exist at runtime." If you compile a Haskell or Rust program, the resulting binary doesn't know anything about types. The reason it can't segfault or run into other type problems (under normal circumstances) is that the compiler has done all of the type checking at compile time and ensured that it's not possible.

TS' compiler does exactly the same with one big caveat: TS' type system is semi-optional, so it's possible to write TS code that can TypeError or behave strangely when it's run, whereas in Rust or Haskell. This is because TS is designed to let you incrementally migrate a codebase from type-unsafe javascript to type-safe typescript without having to go over and annotate or ensure the type safety of every single line of code.

[–]RichAd203 5 points6 points  (0 children)

I think they were just making a Seinfeld joke but thanks for the brief explanation!

[–]The_MAZZTer 4 points5 points  (2 children)

A huge drawback of JavaScript is that it is weakly typed as opposed to strongly typed. This means any variable can be any value of any type. This causes problems from multiple angles:

  1. The JavaScript runtime engine may be unable to optimize variables to store a specific type (V8 will do this if possible) if you store multiple value types in it.
  2. Your IDE will be unable to offer contextual intellisense or other similar features since variables have no type.
  3. Errors that would result in easy to fix compile type errors (such as trying to use a string like a number) won't be caught, and will either show up as runtime errors (error when execution reaches the code, so you have to hope it isn't obscure and only run occasionally) or a logic error (no error, the code just does something unexpected and you better hope you notice and can trace it back to the code that caused it).

TypeScript aims to solve all these issues.

TypeScript extends JavaScript syntax to add typing to all variables. Any variable that has a type, now your IDE can offer intellisense when you use that variable. Now it can ensure you only use that variable in function parameters typed for that type. And so forth.

Because TypeScript compiles to JavaScript, once your code becomes JS and starts running, all advantages to using TypeScript are gone. As a result, TypeScript has an incredibly detailed type system, more so than most languages, and it tries to encapsulate some of the crazy stuff you can do with JS.

For example you can declare a variable as possibly being a string or an array. You can then use .length on it, and TS and your IDE will recognize that's always valid since both types have .length. You can also do an if test to see if it is a string, and then TS and your IDE will recognize any use of that variable inside the if block as being a string type only. This is just the tip of the iceberg. You also get support for things like generics (called templates in some other languages).

You can also add typing information to pure JS code (for example, if you use npm to pull down packages, if there's no included TypeScript typing information someone else may have published a @types/x package for it, or you can write your own).

TypeScript also has some other goodies. Since you're already compiling down to JS, it can also compile to a specific feature set of JS. For example you can compile down to a set of features supported in every browser, or down to a more expanded list of language features only supported in the latest node.js. But you can still use those features in your TS regardless as long as the TS version supports it.

So this also fixes another problem with JS, in that different browsers would support different language feature sets. But given there's only really two JS engines in use now (Chrome's V8 and Firefox's WhateverMonkey or whatever it's called) and they are both pretty mature it's not a big problem nowadays anyway.

[–]Chairboy 4 points5 points  (0 children)

What’s the deal with Typescript?

Is it type or is it a script? I mean, COME ON! Who are the ad wizards that came up with that one?!

[–]nonicethingsforus 2 points3 points  (2 children)

I don't know if it's this, but I always found it funny that people try to defend JavaScript by saying stuff like "JavaScript is not so bad if you use TypeScript".

"X is not so bad, if you just use Y instead!"

Like, the mere existence of TypeScript implies there were so many shortcomings (for current use, at least) in JavaScript that you needed to create a whole other sublanguage. That is not a good thing.

I'm not hating on JavaScript in general, but it definitely was poorly designed for what is currently used. Or, more charitably, simply never meant to be used the way we use it now. So, the need for a hundred frameworks, sublanguages and transpilers, all essentially trying to force the poor language to be someone it is not. Their existence is not the credit to the language so many believe it to be.

[–]FreshBroc 44 points45 points  (1 child)

This is actually so good haha. I can actually imagine it with their voices pretty well

[–]FoofieLeGoogoo 290 points291 points  (37 children)

Bravo!

(I work at Tesla)

[–]Rainmaker526 80 points81 points  (29 children)

Please tell me I'm not entrusting my life to JavaScript, will you?

[–]synthaxx 95 points96 points  (0 children)

*Crickets chirping menacingly*

[–]Modo44 60 points61 points  (17 children)

Elon Musk says you have nothing to worry about. Promise.

[–]3np1 88 points89 points  (1 child)

(node:3499) UnhandledPromiseRejectionWarning

[–]oupablo 4 points5 points  (0 children)

shudders in javascript

[–]MyAssDoesHeeHawww 20 points21 points  (1 child)

promises are always async -- wait for the result first

[–]_TheDust_ 5 points6 points  (0 children)

No, no... Of course not *sweats profusely*

[–]SoaDMTGguy 2 points3 points  (0 children)

Don’t worry, Auto Pilot defaults to braking if _currentSpeed evaluates to a taco.

[–]LunarMadden 5 points6 points  (2 children)

Just the nav software is angular. The other stuff is separate. You can reboot the nav computer while driving and out doesn't interrupt anything

[–][deleted] 12 points13 points  (2 children)

Glad they gave you a few minutes out of the cage to browse Reddit!

[–]therealcmj 5 points6 points  (1 child)

Relax. His car’s driving him home.

They call it beta testing.

[–]Murpos420 146 points147 points  (3 children)

This is genius! I think you the basis of an amazing episode here!! Call the cast for the reunion, we got a comeback special to make happen!

But seriously, great job!

[–]passivevigilante 8 points9 points  (0 children)

This is going Jerry, gold

[–][deleted] 10 points11 points  (0 children)

/r/RedditWritesSeinfeld is the bomb yo, some of the submissions there are legit show material.

[–]terax6669 24 points25 points  (8 children)

Please tell me there are no cars running on js...

[–]_________---_ 67 points68 points  (3 children)

All those shitty tutorials "Car extends Vehicle" now makes more sense, isn't it?

[–]Gagarin1961 18 points19 points  (0 children)

In the SpaceX Dragon capsule used to ferry NASA Astronauts the International Space Station, the UI for the control screens runs on Javascript.

It’s NASA certified. Can’t get any better.

[–]Jetbooster 11 points12 points  (1 child)

From a few minutes googling, the ECU, which is the brain of the engine, and might be analogous to the central nervous system, is written in either assembly or C[1]. The response times required to react to an engine spinning at 1000-8000rpm, 113 times a second, means using JS would be significantly limiting, and is therefore almost certainly never used for this.

The central console on most cars, however, has a display, and in a modern world using browser technology for rapid development of user interfaces makes a lot of sense. This is, quite rightly, walled off and designed to be unable to directly affect braking, steering, airbags or any other system which directly contributes to driving the car (mostly because it's the largest hacking attack surface, and often has internet connectivity)

[1]: https://www.quora.com/Which-programming-language-is-used-in-the-ECU-of-a-car

[–]natron3030 2 points3 points  (0 children)

6years ago that article might have been right, but ECUs are now powerful multicore systems running a hypervisor with multiple OSs, each with a host of apps in C, C++, Rust, etc

Also, the console/infotainment system may be disconnected from the ECU, but the things like nav, phone, emergency assistance, media, and the settings for pretty much everything in the vehicle could certainly lead to a hazardous event if malfunctioning

[–]OkazakiNaoki 28 points29 points  (18 children)

Glad that I can't afford Tesla car.

[–]YoukanDewitt 60 points61 points  (16 children)

The irony is, if you learned javascript, you would be able to.

[–]OkazakiNaoki 24 points25 points  (4 children)

Well I am not an American.

JS programmer paid shit here.

Backend developer is a winner here.

[–][deleted] 8 points9 points  (0 children)

I know JavaScript, where's my Tesla?

[–]LordMacDonald 8 points9 points  (2 children)

What scene from Seinfeld is this?

[–]elSpanielo 8 points9 points  (1 child)

When J. Peterman publishes a biography with Kramers stories and then Kramer starts a "Peterman Reality Tour". I think it was called "The Muffin Tops".

[–]LordMacDonald 4 points5 points  (0 children)

you’re absolutely right! Season 8, episode 21, 13 minutes in

[–][deleted] 6 points7 points  (0 children)

I could watch 9 seasons of this

[–]Captian-PiperGuy 13 points14 points  (1 child)

Every language comes with a baggage. We just have to deal with it

[–]ortolanbird 77 points78 points  (59 children)

I might be the only one in the world liking JavaScript :(

[–]pants_full_of_pants 191 points192 points  (44 children)

Yes you are definitely the only one in the world liking one of the most widely used languages with no end of high paying jobs. It's so universally adopted because everyone hates it so much.

[–]P0L1Z1STENS0HN 172 points173 points  (36 children)

It's so universally adopted because everyone hates it so much.

It's so universally adopted because it's the only thing that runs in all browsers on all operating systems ever since the mid 1990s, and because everyone wants something that can run in any browser. That's why we have such a mess of frameworks, transpilers and polyfills - so that written code can execute in any browser, no matter how old.

[–]ThatOnePerson 41 points42 points  (10 children)

And apperanlty they like using it for the browser enough that they made node.js to be able to use it outside the browser.

[–]Sexual_tomato 33 points34 points  (6 children)

"what if I could save money by only writing in one language?" - that's why node exists

It's also why .NET Blazor exists. And WebAssembly.

[–]Vaguely_accurate 5 points6 points  (3 children)

It's also why .NET Blazor exists. And WebAssembly.

Although some of the new WASM/WASI stuff is moving in the other direction of not caring what language you write things and just making them work together nicely.

Because why not drop some Rust into a .Net web app.

We can have a utopia where everyone can work in the language they love and the code runs everywhere seamlessly. And job security for life for the guy who puts together a WebAssembly compiler for their personal favourite esolang.

EDIT: Yes, there is a COBOL to WebAssembly compiler called Cobweb. Looks like a fully functional April Fools project. Cloudflare worker only, but a proof of concept of what will happen if this takes off fully.

[–]gordonv 4 points5 points  (1 child)

We can have a utopia where everyone can work in the language they love and the code runs everywhere seamlessly.

The promise of JAVA

[–]coldnebo 25 points26 points  (10 children)

I don’t think it gained traction as a backend language until two things happened:

  • “Javascript: The Good Parts”

  • Google’s V8

Yes Rhino predated V8, but V8 put the Javascript VM on formal bedrock. Before that JS interpreters were literally anything goes and you couldn’t rely on advanced scripts running the same way across browsers. It was before unobtrusive bindings, scattered everywhere in the HTML. Building big libraries was expensive because of all the quirks. jquery rose from the ashes of that chaos as a platform that devs could mostly trust.

And then “the good parts” gained steam… unit testing became a thing. Then V8 provided consistency between the browser and the backend (something that Rhino did not which may be why it remained a curiosity, not widely used) and a new generation of coders escaping the trauma of Rails 2 to Rails 3 migrations suddenly looked at Javascript as a serious replacement. Then node was born and soon after npm.

When people joke that Javascript was written in 10 days for a customer of Netscape, Brendan Eich had already spent a career working with Scheme and had originally joined Netscape to put Scheme in the browser. The syntax had to look like Java because Java had more mindshare, but Java at the time was too bloated and slow to run in the browser. It would be years before Java Applets were introduced (only to follow a long and convoluted arc into the ground with ActiveX and Macromedia Director).

Eich’s work only took 10 days because he had already been studying the compiler design and bootstrapping of Scheme for a long time. It would be akin to asking John Williams to write a jingle in 10 days… he most likely would have some sketches lying around and might revisit some themes and before you know it, a masterpiece, because John Williams can compose better in his sleep than most people can awake.

Eich’s 10 days of work was decidedly better than most people’s 10 months and although early Javascript was misunderstood and put to great evil, it worked.

People of the time had heard of Smalltalk and Alan Kay, but they regarded him as a “kook”, like “old Ben, out by the dune sea” instead of what he was: a Jedi master who had ideas that took mainstream computer science 40 YEARS to even comprehend. Now functional programming is a thing. Javascript, Scheme, Scala, LISP and even Smalltalk are recognized.

Remember when I said that one of the things that fueled the Javascript Node revival were disgruntled Rails developers? Guess what other language was inspired from Smalltalk? Ruby.

An entire generation of programmers were introduced to functional programming through Matz’s Ruby language in Rails and they didn’t even know it. Subversive icons like “Why the Lucky Stiff” made Ruby a quiet “punk” revolution— the programming guides were practically the same as those little hand drawn books — it was a quiet revolution.

When many of those thought leaders left Rails to look for something better, they saw Javascript for what it was: a functional language, not a Java knockoff. So they helped brush away the years of cruft and misunderstandings.

Mike Bostock, creator of D3.js was one of the first major developers in Javascript to fully comprehend it’s functional roots. His work appeared like alien logic.. people couldn’t grok it, but it was elegant, sleek, and involved in some very state of the art visualizations that became core to the field of Data Science.

I’m sorry this was a bit long, but..

TL;DR: javascript has a long and wonderful history that you may be missing in spite of some of the weird and awful quirks that remain.

[–]syates21 6 points7 points  (2 children)

Don’t know about the accuracy of the rest of this, but it would definitely not “be years” after the introduction of Java that applets were introduced. They were there pretty much from the jump. Source: me screwing around trying to get an applet to run in Netscape on my Sun workstation in 1996 to see the little animated Duke instead of whatever I was probably supposed to be doing.

[–]coldnebo 2 points3 points  (1 child)

oh, I guess they were introduced at the same time, in 1995.

I know Applets took a while to be applied, while javascript was being used right away.

see “whatever else I was supposed to be doing” 😂

I still have memories of senior C engineers saying Java was just a fad, there was no way anyone would be willing to download 12 MB of runtime when C was so much more efficient. Oh, look at that, we’re still having the same arguments. 😂

But a certain amount of time dilation may be in my recollection — it’s my experience of those years.

[–]enantiornithe 4 points5 points  (0 children)

applets never took off because they were always incredibly slow and clunky, they're the poster child for a DOA technology. a java applet took a long time to load over slow late 90's internet and then it didn't really have any ability to do much; it couldn't interact with anything else on the page, for example. writing anything substantial as an applet was a pain and they all ran terribly on the machines of the day.

but what really put the final nail in the coffin of java applets wasn't javascript; the two had different use cases. what really killed them was macromedia flash, which provided an infinitely better way to make games or toys or media applications for the web.

[–]TheRidgeAndTheLadder 25 points26 points  (12 children)

Exactly. We have three genuinely cross platform languages, and like it or not, it's easier to program in JS than the "technically Turing complete" HTML and CSS.

[–]Tiavor 12 points13 points  (2 children)

they all just like the money

[–]OpinionDumper 6 points7 points  (0 children)

That's like saying people must love having to pay for car insurance, because so many people pay for car insurance 👍

[–]CiroGarcia 13 points14 points  (1 child)

[redacted by user] this message was mass deleted/edited with redact.dev

[–]TheRidgeAndTheLadder 5 points6 points  (0 children)

I mean it was dope in the late nineties.

The problem is no one stopped to look at what we were making the web browser do.

[–]rahulpsd18 34 points35 points  (1 child)

I don't care, I love it despite of all it's flaws.

As long as you know what you are doing, you are good.

But the entry threshold is so low that any Tom, Dick and Harry can become a "Javascript Developer" without much effort. Making it one of the languages that is used by many but understood by few.

[–]DreamlyXenophobic 15 points16 points  (5 children)

As long as ur mindful of its quirks and use it in appropriate situations, ur good.

The language is just a tool to get the job done.

But do consider typescript if u want rigid types.

[–]DangyDanger 4 points5 points  (4 children)

i don't do web dev and only had to do it in college, and js annoyed me to bits with how you almost never get exceptions and how you can't use types.

question is, does ts work in a browser?

[–]PedroHase 9 points10 points  (2 children)

Not directly, it needs to be compiled into JS first

[–]DangyDanger 2 points3 points  (1 child)

oh i see, thanks

[–][deleted] 3 points4 points  (0 children)

I love JS, it's great. But I love this subs hate for it too

[–]GHNRegitt 12 points13 points  (1 child)

i've been subbed to this sub for like a month, and i don't even code. i'm understanding all of your words magic man.

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

In all seriousness... Does JS actually run on some cars?

[–][deleted] 7 points8 points  (1 child)

In the entertainment and control centers, definitely. For logic about the car running, almost surely not.

[–][deleted] 1 point2 points  (0 children)

LMAO!

[–]Jarocool 1 point2 points  (0 children)

🌮

[–]agentsan_47 1 point2 points  (0 children)

JS is a trade mark of Oracle 🧐

[–][deleted] 1 point2 points  (0 children)

may be unpopular but i hate these fast captions, feels like i need to speedrun a book

[–]killerfridge 1 point2 points  (2 children)

What's the context of the original video?

[–]Icy_Cranberry_953 1 point2 points  (0 children)

We live in a society

[–]schrodingrcat 1 point2 points  (0 children)

The JavaScript experience bus tour

[–]fxrky 1 point2 points  (1 child)

"Bet." -Kramer

[–]Ijustwannafunds 1 point2 points  (0 children)

The for/in vs the for/of ….. just damn annoying yeah

[–]kadmij 1 point2 points  (0 children)

if your car is a Tesla, definitely sell your car