Hacker News new | past | comments | ask | show | jobs | submit login

I was there in the past and the tools are really not comparable. I just inserted a floppy disk and did A: then TP.EXE (which was just as arcane as knowing $PATH) but do I really want to work on Turbo Pascal in MS-DOS? Of course complexity skyrocketed!

That's not a counterexample because beginners have contemporary expectations. There are simpler alternatives that just work. Why do beginners want to use Node.js locally then?

> We do things the way we do things largely for historical reasons

Nobody challenged that. The question is: is the alternative better or just a different (but equally arcane) set of quirks?

If you're not using $PATH you'd be using an analogue system to solve the same problem, and you'd lose portability with current OSes.

Sounds like NIH to me.




> I was there in the past and the tools are really not comparable. I just inserted a floppy disk and did D: then TP.EXE but do I really want to work on Turbo Pascal in MS-DOS? Of course complexity skyrocketed!

Did it do so for reasons that are still relevant today, is the question.

> That's not a counterexample because beginners have contemporary expectations.

Alright I'll present a counterexample: Lazarus. You download it and install it [0], then you run it and make programs. It has a WYSIWYG GUI builder and produces stand-alone executables for multiple operating systems. There is no complicated build environment to set up.

> If you're not using $PATH you'd be using an analogue system to solve the same problem, and you'd lose portability with current OSes.

I contend that the problem $PATH solves has nothing to do with programming. $PATH is a solution for finding programs when you type their name on the commandline, nothing more. Windows and Mac programs don't really use or need it for the vast majority of tasks. Programming does not fundamentally require $PATH.

> Sounds like NIH to me.

And arguments that understanding $PATH is somehow a necessary pre-requisite to get into programming sound like needless complexity fetishism to me.

[0] I would argue that the installation step here is also unnecessary as there is no reason Lazarus cannot operate as a stand-alone self-contained portable folder other than the developers insistence on hardcoded paths.


> I contend that the problem $PATH solves has nothing to do with programming. $PATH is a solution for finding programs when you type their name on the commandline, nothing more. Windows and Mac programs don't really use or need it for the vast majority of tasks. Programming does not fundamentally require $PATH.

Do you write programs that don't load libraries? That don't interact with files? $PATH is required (or something to search along to find those libraries or files). I've been programming for 25+ years and I can't think of a serious actual application that I've written that doesn't need something like $PATH. Even simple data formatting console apps generally need to load a JSON library or something similar. It's impossible to bundle every library needed for an app in every app. People keep saying that $PATH isn't needed but location services of some kind is absolutely needed! I'd argue that $PATH is the result of 50+ years of engineering/science and research and is the best known way to address that issue as of now.


>And arguments that understanding $PATH is somehow a necessary pre-requisite to get into programming sound like needless complexity fetishism to me.

Understanding your programming environment is absolutely a prerequisite to getting into programming. If you don't want to deal with $PATH, you should know enough about your target OS to know how to run things without it (which is really, really not hard to do).

No program exists in a vacuum.


You seem to be advocating for an IDE-style environment, examples of which abound. Is that all this whole discussion is about?


I see what you mean. Lazarus look great, I might try teaching it to a friend!

EDIT: Any good small-ish project in GitHub to get a feel for the language?




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

Search: