libera/#commonlisp - IRC Chatlog
Search
3:07:51
fiddlerwoaroof
It often seemed to me that the ability of something like IntelliJ to autocomplete and suggest arbitrary members of arbitrary classes in your project encouraged people to just use random methods and classes in the project rather than think about modularity and interfaces
3:08:28
fiddlerwoaroof
You can overcome this with a lot of discipline, but it can be really tempting to just drill down through levels of dots to get the functionality you need.
3:09:14
fiddlerwoaroof
I don't think this is a sufficient reason to reject good development environments, but I think it's a downside of those environments people often don't think about
3:13:46
beach
Maybe industry should start thinking about the qualifications of the programmers that it hires.
3:17:58
aeth
can't do dot-based auto-complete easily in CL, anyway. (action foo ...) means you typed action already, unlike foo.action, which can be done when you start with a foo
3:26:59
fiddlerwoaroof
(I guess that's a sbcl extension, but I think the standard specifies searching all the symbols, rather than only external symbols)
3:43:43
fiddlerwoaroof
For example, if I do (MAKE-INSTANCE '<TAB>, there's enough information to know that I'm probably looking for a class name
3:46:08
verisimilitude
Joking aside, I support the idea of properly qualifying programmers; one method to get the idiots out would be corporal punishment for programming flaws.
3:47:42
beach
fiddlerwoaroof: Indeed. The main problem with autocompletion is to limit the number of choices to the relevant ones.
3:49:50
verisimilitude
That would require manual tagging of someone, and naive autocompletion gets most of the way there anyway, is part of the problem.
3:50:33
fiddlerwoaroof
For a lot of things, you could have a method with an eql specializer on the CAR of the form
3:51:28
verisimilitude
Still, someone would need to do some manual tagging for this at the beginning.
3:51:54
fiddlerwoaroof
Yeah, although things like "does the symbol name a class" can be determined somewhat automatically
3:52:11
verisimilitude
Right, I've not spent much time in Lisp lately, so I'd forgotten that terminology.
3:52:31
fiddlerwoaroof
And you could also do things like use declared argument types to narrow completion
3:52:56
fiddlerwoaroof
e.g. I've come across a couple functions that use a MEMBER type to specify which symbols are valid for a particular argument
3:54:12
verisimilitude
My system doesn't even have a working M-. and so I never found the autocompletion particularly lacking.
3:55:29
aeth
Yes. My M-. in CL also somehow broke. Idk how or where. It's sometimes annoying, but usually I can just grep and lose a few seconds so it's not really worth the few hours to fix it.
3:56:50
fiddlerwoaroof
(as everyone knows "works on my machine" is the best response to a bug report)
3:57:10
aeth
I do have a few elaborate macros where it's non-obvious to know where things are defined (since I assumed a working M-.), but they're my macros, so I know.
3:58:32
verisimilitude
I mostly use Lisp as a decent window into my computer, where I can perform useful automation, but typing a programming language into my machine to get basic computing feels more like a compromise than an ideal.
4:33:25
phantomics
verisimilitude: corporal punishment for programming flaws would also require manual tagging of someone
5:44:40
doulos05
Learning how to use irssi to read previous chats. I'm glad I'm in at least one active channel to practice in, lol.