DEV Community

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 colors ...
Collapse
 
sandordargo profile image
Sandor Dargo

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.

Collapse
 
okdewit profile image
Orian de Wit

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.

Collapse
 
tux0r profile image
tux0r

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.

Collapse
 
kashperanto profile image
kashperanto

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.

Collapse
 
tux0r profile image
tux0r

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

Depends on the project, I guess...

Collapse
 
kashperanto profile image
kashperanto

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.

Collapse
 
panta82 profile image
panta82

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.

Collapse
 
gypsydave5 profile image
David Wickes

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.

Collapse
 
jjthiessen profile image
jjthiessen • Edited

I know it's almost a year late, and I don't currently use acme, but I've found the Logitech T400 to be a really good three button mouse. It has four actual buttons (left, right, middle, middle-bottom), but the middle buttons are on top of an XY touch/scroll surface.

The most disappointing thing is that they decided to do some weird Super-d combo as the default middle click action (instead of an actual middle click). Fortunately, it's easy enough to remap with their official app in Windows, with Karabiner in macOS, or keymap and udev rules in Linux.

I'm pretty sure that the mouse is out of production, so if you get one and like it, buy a couple more to see you though.

If you're like me, you'll probably also want to swap scroll axis (to natural scroll).

Collapse
 
tux0r profile image
tux0r

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. :-)

Collapse
 
robdwaller profile image
Rob Waller

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.

Collapse
 
tux0r profile image
tux0r

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!

Collapse
 
qm3ster profile image
Mihail Malo

How do I block users on this site?