Live data from Hacker News

Why can't I write code inside my browser?

tomcritchlow.com

221–230 of 624 posts

Re: Why can't I write code inside my browser?

#221
The author is not talking about "professional programming" but about a field called "end-user programming" or more generally "end-user development", which is a whole academic field with the goal os allowing end-users to develop their own solutions.

From this field came things like Scratch [1].

If you're interested a very important paper in that area (from the philosophical aspect) is "Meta-Design: A manifesto for End-User Development". [2]

[1] https://scratch.mit.edu/ [2] (PDF) http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.68....

Re: Why can't I write code inside my browser?

#222
post #69

Earlier quoted context omitted.

This is a variant of the no-code mindset where people expect coding to be easy. What they don't understand is that tools which aim to make coding easy or automatic don't add any value if the person using the tool doesn't understand all the nuances in the underlying logic which is being produced. Fully understanding the distinction between client and server is one such nuance. When it comes to coding, the bottleneck i…

> I don't think I've ever met anyone who was naturally good at thinking logically I've heard, though, that declarative programming (prolog, haskell etc) was a LOT easier for people who aren't trained in imperative programming. Whereas those who are actually have a hard time picking it up... As was my experience. @op have a look for declarative programming. You might like prolog :)

I'm someone who learned declarative after imperative. In my experience, there are two things to understand about any declarative language: what it expresses, and what it actually does on the machine. The latter is often considered an implementation detail, but - at least for the people with imperative programming experience - it's actually crucial to gaining full understanding.

I remember my final breakthrough in grokking Prolog was realizing that the engine hides a glorified DFS that walks a graph of concepts for you. Suddenly, all the reasoning and non-deterministic features wasn't mysterious anymore, and performance-related implications became clear. Similarly, for people who struggle with async, it's beneficial to understand that async means somebody hid an event loop from you.

Re: Why can't I write code inside my browser?

#223
post #88

If the author has “been playing with the web and code for years” and is still “wtf” on /usr/local/bin in $PATH it shows a lack of discipline and structure in their learning. I see this in many in many of my apprentices - the desire for instant gratification and the lack of experience means they refuse to do anything that doesn’t immediately proceed them closer to their goal. Here’s the thing with programming - you ca…

/usr/local/bin has absolutely nothing whatsoever to do with programming. Nothing. Zero. Zilch. It is completely superfluous knowledge. It is only required because, as the author correctly points out, the tools we use are BAD. They are absolutely fucking AWFUL. /usr/local/bin is an implementation detail from an OS nobody has used for decades. It's still here because we refuse to fix these ridiculous things. Nobody sho…

I've been programming for 25 years now, about 20 of which as a developer at billion dollar companies, google, facebook and various high scale hedge funds, including systems that serve billions of users a day. I have had a hobby in embedded programming and FPGA programming, compiler design and distributed deep learning.

All of which used /usr/local/bin and $PATH. Every system, regardless of programming language across python, C, C++, java, go, erlang.

Saying /usr/local/bin and/or $PATH "has absolutely nothing whatsoever to do with programming" is total rubbish. Programming as a field doesn't just include domain and syntax knowledge of a programming language, it includes ALL of the system implementation details below it, and YOU ARE EXPECTED TO KNOW THEM.

Saying something so basic and fundamental "has absolutely nothing to do with programming" only shows a terrible lack of systems knowledge, this is used in unix, linux, bsd, embedded and massive server scale deployments.

Acting like this stuff is somehow below you, just shows intellectual laziness, this stuff both BASIC (easy to learn) and FUNDAMENTAL (applies almost universally in many systems), and if you acted like this during an interview or working at anywhere with non-trivial setups you'd be laughed out of the room.

Re: Why can't I write code inside my browser?

#224
post #139
post #96

I try to keep my comments nice on HN but in this case I can't, I've met this kind of person many times now and I just can't hold back. The author is lazy, and is channeling his energy into complaining rather than learning. He believes he is by default an expert on the 'user friendliness' of programming. His comments don't really make much sense, and come across as whining that should be ignored. "People hate command…

Programming COULD use a lot of simplification and removal of barriers. But still, just like you, I really hate the base attitude here. And for a different reason: I find that programmers who think like this, are also lazy when it comes to respecting the user. They're lazy when it comes to supporting accessibility. They're lazy when it somes to properly supporting i18n and making experience great for non-Americans. Th…

> Programming COULD use a lot of simplification

I disagree, actually. There are plenty of languages, and even visual programming (via flow-diagrams, like Unreal Engine's "Blueprint" and Blender's shader flow diagrams), for those who just want to play around. For people who want to write a quick and dirty script, languages like python make it very easy already (relative to what they actually do).

> Programming COULD use [...] removal of barriers

Absolutely agree with this, though. There's an unnecessary elitism in many places that really needs to go..

> Development is sometimes hard and requires hard work to do right by people.

This is *so* important for these people to understand. There are languages and domains where the "elitism" is fully justified. If someone decides they want to write a high performance, easy to use, cross platform native application and complain about C++ or Rust being too complicated, then they should find an easier job. There is justified and unjustified elitism, and there are domains which could use, if anything, even more "complication" and more specifications, more "barriers" to ensure higher quality.

Re: Why can't I write code inside my browser?

#225

A lot of dunking of the "git gud" variety going on here, but the author has a solid point. Requiring a novice to learn arcana of a 30 year old Unix system before they can learn to program is purely extraneous. We could package programming languages up with GUI installers that set everything up correctly and let you get right to the code - and in fact, we used to. If you install IntelliJ, you'll have a fully-working J…

The problem is that without understanding the "arcana" of the OS platform you're using, you'll quickly hit a brick wall with your IDE. You won't understand what the configuration options mean, you won't understand what the documentation or people on StackOverflow want you to do and why. IDEs are mostly an abstraction over a set of CLI tools; if you try to do anything nontrivial, you'll see where the abstraction leaks.

Re: Why can't I write code inside my browser?

#226
If we want monkeys typing out the entire works of Shakespeare we might as well make that the default when you open a browser and smash the keyboard/screen (device will magically know).

I mean the alternative - friggin' learnin' stuff - is too hard.

Re: Why can't I write code inside my browser?

#227

Earlier quoted context omitted.

> Many people find the command line daunting Then they need to get over that if they want to learn to code or use scratch.

> Then they need to get over that if they want to learn to code or use scratch. This is the right attitude to have as an aspiring programmer, but exactly the wrong attitude for someone who creates the tooling or documentation for helping aspiring programmers learn.

But it is the right attitude for someone creating tools for other proficient programmers to do even more advanced things. We won't advance the state of the art by handicapping yourself through catering to extreme beginners at every point.

In other words, the target audience of a Promise library for JS are people who know JavaScript and understand async. Trying to explain the basics of JavaScript, or programming in general, in that library's documentation would be a waste of time for everyone involved. A beginner has plenty of resources to learn from to reach the appropriate level, at which point they'll be able to wield the Promise library in a useful and responsible manner.

Re: Why can't I write code inside my browser?

#228
post #34

A lot of you guys are hating on the author for not being able to figure out how to install Nodejs. Yet if you're old enough to have gotten started in the time of JavaScript in the late '90s, or QBasic in the early '90s, or systems like the BBC Micro or TRS-80 in earlier decades, you should know what the author's talking about. Everything you need to program is just there . It just works , there's no extra installatio…

"A lot of you guys are hating on the author for not being able to figure out how to install Nodejs." Nope. That's not what they're criticising. "Yet if you're old enough to have gotten started in the time of JavaScript in the late '90s, or QBasic in the early '90s, or systems like the BBC Micro or TRS-80 in earlier decades, you should know what the author's talking about. Everything you need to program is just there.…

How can I easily draw pixel with Bash? Easily inspect and modify the whole memory with it?

There should be an "educational" mode on every computer where you can just boot into it.

Re: Why can't I write code inside my browser?

#229

A lot of dunking of the "git gud" variety going on here, but the author has a solid point. Requiring a novice to learn arcana of a 30 year old Unix system before they can learn to program is purely extraneous. We could package programming languages up with GUI installers that set everything up correctly and let you get right to the code - and in fact, we used to. If you install IntelliJ, you'll have a fully-working J…

This. I've been writing code for years, but every time I pull a repo of the latest web app it turns into a series of frustratingly complicated learning exercises. I'm 17 all over again...

npm? got it. whoop. yarn? okay cool nope. bower, now? wow. all set.. no. webpack. done. wait. gulp? okay okay. are we there yet?

Re: Why can't I write code inside my browser?

#230

Earlier quoted context omitted.

The server you submitted your comment to uses this 'OS nobody has used for decades'. The OS you wrote this from, also uses this implementation detail.

It most definitely does NOT use that OS. That is a ridiculous claim.

Every OS, Windows as well, uses the concept of search paths, namespaces, and environmental variables.
Post reply on HN