acme/acme2k: A lesson in sane IDE defaults.

tux0r on August 13, 2018

If your IDE requires you to use the keyboard for switching between "modes" instead of just letting you type your code; if your IDE has more color... [Read Full]
markdown guide
 

FAQ: "Wouldn't that slow you down?" - No, not really. Being a productive developer, you probably spend most of the time writing new code instead of changing existing code. Even if you need to do that, clicking directly where you want to type is notably easier than instructing your cursor to go two lines up, five columns to the right and then enter the Insert mode.

What do you mean by a productive developer? In my opinion, a productive developer actually might have to change a lot of code, more than he/she writes new blocks. And a really productive developer will remove more code than he'd write.

I read a really interesting article which claims that the more experienced you become, the more bad code you will have to fix - and the more frustrated you will get.

Now, here is the question. Can we consider a developer with little experience, who writes a lot of not-so-clean code a productive developer?

Many people do, I think. Mostly non-technical (project) managers. Those who will actually have to deal with the mess, much less.

 

I passionately disagree with the notion that syntax highlighting is a bad thing. Those who argue against it always use the worst colors as an example of why it would be bad.

A good color scheme turns comments into background information, and highlights the structure of the code — with good colors, your eyes can quickly isolate all the method names from a class, and combined with an IDE which understand the language it should identify unused imports and variables. A random color scheme is indeed not useful, but using color to signal structure and semantics is extremely useful.

 

I passionately disagree with the notion that syntax highlighting is a bad thing.

It was not meant like that. Personally, I made the experience that I can work without it in languages which are not JavaScript or C#, but I can also see why some people wouldn't touch an editor without syntax highlighting.

In VS Code (one of the text editors I'm using - yes, I'm definitely using too many editors...) I have a very simple theme: Comments are light grey, code is dark grey, keywords are italic.

 

I disagree on almost every point. The "productive developer" bit about mostly writing new code is a pipe dream. It is well understood that more time is spent reading and editing exieting code than developing new code. Also, syntax highlighting absolutely helps with code readability, but I will give you that much of the benefit comes from emphasizing keywords and de-emphasizing comments. A good syntax highligting colorscheme with a good font does wonders when you stare at text most of the day.

I do slightly agree about configurability, but from the viewpoint of a vimmer. Emacs is a great concept, but the configurability makes it almost like a custom-built editor. Vim can be the same way with some people, but the core modes and navigation/editing "language" are fairly universal. I may not be able to use custom key bindings and plugins on your vim, but at least I will be able to get the job done with the standard commands. Vim has a greater focus on providing the same interface, regardless of all the configuration.

I'm sure people can develop just fine without mastering vim/emacs, but mouse liberation has been nothing but an enhancement for me.

 

The "productive developer" bit about mostly writing new code is a pipe dream.

Depends on the project, I guess...

 

Do you really think you write code more than you read it? I suppose if you mainly work solo on projects you might do "write only" programming. I'd still think that later on in he project you would be editing more than writing brand new code from scratch. I work mostly in embedded C, so ymmv, but even when I'm doing python scripts I edit way more than I write.

 

FAQ: "Wouldn't that slow you down?" - No, not really. Being a productive developer, you probably spend most of the time writing new code instead of changing existing code.

Exactly. And this is where an IDE that understands your code and allows you to quickly navigate and detect problems comes in.

 
 

I think ultimately this question comes down to what makes you happy as a developer. If Acme works for you great, if Atom works for you also great.

Me personally, I started coding with notepad so I like minimal bells and whistles in my IDE. But I know that doesn't work for everyone.

 

I am currently using six text editors on different systems for different tasks. If there was that one perfect editor, everyone would use it everywhere...

Notepad is good enough for surprisingly many things!

 

A real, living, breathing ACME user??? 😻Amazing😻. I've wanted to meet one for forever. Pretty much since I tried to run Plan 9 and Acme on my Mac through some sort of emulation / port project that I can't name now.

OK - actual question!

The mouse! The three button mouse! Do you have one? Where did you get one? If you don't have one, how do you deal with chords? And... same question but for using a laptop touchpad - does it work, can you do it?

What sort of workflow do you find yourself using? What activities are easier in Acme than in the other editors you use? Which are harder?

I'll think of more questions later on.

 

A real, living, breathing ACME user???

Or so they say. ;-)

The mouse! The three button mouse! Do you have one?

I have a Logitech G402 which has an acceptably clickable (and durable) scroll wheel. I admit that Acme would be worth getting that old Pilot Mouse from the store room, but I won't do that.

same question but for using a laptop touchpad - does it work, can you do it?

Ha, I can't even use laptop touchpads for anything else. They are a nuisance to me. :-)

What sort of workflow do you find yourself using?

It depends. Sometimes I use Acme (acme2k, that is) for simple note taking (or writing articles), sometimes I use it to fix and compile code.

What activities are easier in Acme than in the other editors you use? Which are harder?

Multi-language compiling is notably easier as I can just replace the command in the tag bar, so is calling any other external commands. I especially like that I can jump directly to erroneous lines. Using the terminal itself is harder than in (let's say) Emacs because the win command is rather conservative in some ways. :-)

code of conduct - report abuse