Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

You know what made javascript so common, accessible, and thus later universal?

Putting things on a screen was (is) stupidly simple.

That's the whole thing. It's not the types or npm or whatever. It's that you could start with C/Python/Java and spend your first 6 months as a coder printing and asking values on a dark terminal (which is something a newbie might not even have interacted with before) or you could go the html/css/javascript route and have animations moving in your screen you can show to your friends on day one.

Everything flows from that human experience. UIs are Electron because creating UIs for a browser is an extremely more universal, easy and creative-friendly experience than creating UIs for native apps, particuarly if JS is your native language for the previously stated reason.

The industry failed to adapt to the fact that the terminal wasn't any longer the reality of computer users, and the web kinda filled that niche by default.

Also, React was an answer to the advent of mobile phones, tablets, smart tvs, and basically all the explosion of not-a-desktop computer form factors. You could no longer assume your html was a proper format for everything. So you need an common API to be consumed by a mobile app, a tv app, a tablet app... react was the way to make the web another of the N apps that use the api, and not get special treatment. The idea made sense in context, back then.



> Putting things on a screen was (is) stupidly simple.

This is why HTML is still a great language for building UIs and that's why Visual Basic had a huge success in the early 90s: drag UI components on a panel, write the callbacks for clicks, save and distribute the exe. Almost anybody could do it.

React and its siblings are much more complicated than that.


It's my belief that we peaked on January 1, 2000. We had successfully released most of the stress baked into the worlds infrastructure with the sudden phase change of "backward compatibility" caused by the IBM 360 series introduction decades earlier.

We had Windows 2000, a server operating system that worked well as a desktop. Both Visual Basic 6 (aka VB6) and Borland Delphi allowed drag and drop GUI application development. Microsoft Office Professional supported most of the features of VB6 while controlling Spreadsheets, Databases, and other documents.

Anyone skilled in a domain other than computing could spend time and put together a reasonably decent application to help with their jobs, and it just worked. You could then call in a professional to clean up edges and make it faster/more reliable if it needed to be scaled.

The documentation was available for pretty much everything, in print, and on screen, with working examples for almost every single function.

It was before the whole .NET distraction, and forcing web pages into everything.

It definitely wasn't perfect... we didn't have widespread version control. No Mercurial or GIT. Mostly, it was numbered PKzip files stored on floppy disks.

We still don't have reliable secure operating systems, I think we've missed that window. Genode was my hope, but it remains a collection of ingredients instead of a daily driver.


It’s so very ironic that your comment appears on this particular post. We had a much better version of this with interface builder on NeXT in the late 1980s (and later Mac OS X). Similar tooling existed for DOS and Windows.

You literally laid out your UI in a WYSIWYG, drag and dropped connections to your code, and had something working on day one.

It was even easier than the web, because what you were laying out were full components with code and UI and behavior. The web still hasn’t caught up with that fully.

When I see comments like these, I better understand why old timers shake their fist at the youngsters reinventing the wheel badly because they don’t understand what came before.


It always felt like a huge miss to me that Microsoft didn’t bring Access to the web and/or mobile apps. For all its flaws, it was a simple drag-and-drop editor that almost anyone could use to build simple apps that could power decent-sized businesses.


Having a relational database in a gui was great. The problem with access was that it tried to support network applications as a backend but supported a punishingly low number of connections. Having an application that crashed with 10-50 connections put it in an awkward space. Businesses without a strong technical team would build on it, release with N=1 load testing, and get surprised when it crashed out at scale. MS wasn't going to improve it, because they wanted more sophisticated customers to buy SQL server.


Microsoft broke every single one of those tools. And made their own that would never work in a competing OS.

If you are looking for somebody to shake your fist at, try the market protection agencies all over the world.


>We had a much better version of this with interface builder on NeXT in the late 1980s (and later Mac OS X)

I don’t disagree, that just wasn’t available as a starting to program option when my generation started learning around 2005. If it still existed, it was way too niche for me to know about as a beginner.

And I don’t include myself in the generation that started programming through JS, I went the console route a bit earlier. But I have seen friends enter programming later on and it’s clear why that is the main choice.


Interface Builder was still the standard way to build Mac apps in 2006, and with some improvements, has remained a standard way to build Mac and iOS apps to this day (but now we also have SwiftUI).


Fair, but how common were Macs in 2006 for newcomers?

At least in my corner of the world they were practically non existing. The first time I saw macOS at all was in 2012, and it was on my pc after managing to turn it into a hackintosh with help from some random Eastern European guy from a message board.


BASIC made it even easier to put things on a screen. We had commands like this:

In Apple BASIC:

- HPLOT x, y

- HPLOT x1, y1 TO x2, y2

In QuickBASIC on MS-DOS:

- PSET (x, y), color

In contrast I don't find HTML to be "stupidly simple" at all.


> The industry failed to adapt to the fact that the terminal wasn't any longer the reality of computer users

I'm still waiting for some GUI-based terminal to appear

I want to call git in Scratch!


Jupyter notebook UI is essentially a proper GUI-based REPL/terminal.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: