←back to thread

412 points conanxin | 5 comments | | HN request time: 0s | source
Show context
mg ◴[] No.41085093[source]
The command line is still king.

Whenever I see new coders struggle, it usually is because they:

    - Don't know the context of what they are executing

    - Don't know about the concept of input and output
On the command line, the context is obvious. You are in the context. The working dir, the environment, everything is the same for you as it is for the thing you execute via ./mything.py.

Input and output are also obvious. Input is what you type, output is what you see. Using pipes to redirect it comes naturally.

Not being natively connected to context, input and output is often at the core of problems I see even senior programmers struggle with.

replies(16): >>41085138 #>>41085178 #>>41085239 #>>41085304 #>>41085362 #>>41085446 #>>41085493 #>>41085513 #>>41085614 #>>41085677 #>>41085897 #>>41086268 #>>41086743 #>>41086819 #>>41087168 #>>41097209 #
1. vegabook ◴[] No.41085897[source]
Reductio ad absurdum: we should all just use an interactive assembler. Then you really are "in the context".

There is a level of abstraction that makes sense. What level that is is dependent on your objectives.

replies(2): >>41085946 #>>41086064 #
2. skydhash ◴[] No.41085946[source]
My first real programming experiences was done through the browser’s console (JavaScript) and IDLE’s REPL (Python). The short feedback cycle works wonder for understanding instead of struggling to the multistep process of C compilation or Java verbosity. I tried my hands at reverse engineering and using a dissassembler like IDA also gives the same immediacy feeling. Great DX for me is either a good debugger or a proper REPL whatever the abstraction level.
replies(2): >>41085971 #>>41086719 #
3. vegabook ◴[] No.41085971[source]
Agreed. When writing the comment I returned seconds later and added the word "interactive".
4. teddyh ◴[] No.41086064[source]
DDT, the shell for the ITS operating system, was also an assembly-level debugger.
5. richrichie ◴[] No.41086719[source]
> the multistep process of C compilation

it can be a single make command