On Thu, 1 Nov 2012, Shmuel Metz (Seymour J.) wrote:

> In <[email protected]>, on 11/01/2012
>    at 01:17 AM, Tomasz Rola <[email protected]> said:
> 
> >I.e., IDEs are ok to use but for me, it is also nice to realise 
> >that whenever a language is depending on sophisticated tool 
> >to be usable,
> 
> What about an IDE that saves time when programming in a language that
> doesn't require an IDE?

Yeah, there is a possibility of such thing. In this case, of course, I 
accept and use it. I just need to be sure that a tool improves my 
productivity rather than standing in my way. In case of Java and some 
others, IDE is probably a must have.

However, I am more after languages that - as far as I can say - do not 
have decent IDEs. In case of Common Lisp, emacs with slime do a lot of 
what I need. I am not really sure if I need more, but maybe I will learn 
about it.

For example, I have never so far needed autocompletion in editor. This may 
indicate I am yet to write something really big. OTOH, when this feature 
became fashionable in Java-land I was already looking for more concise 
language, which did not require me to duplicate code with copy and paste. 
At the time, Java was not very suitable for bigger projects, IMHO. No, I 
really know about other ways of doing such stuff and I'd have been happy 
to have decent mechanism in Java (which tried to compete with C++ but was 
really too simple for this). Multiple inheritance wouldn't have hurt me at 
all, but instead I was given interfaces... which I quickly learned was 
very crippled way of describing dependencies between parts of code.

Ditto for refactoring. This is foreign concept to me. Yes, I can 
reorganise my code. When I see such a need - but I really prefer to plan a 
little better from the beginning.

So, the only other thing I could require seems to be help with GUI 
design. But I am yet to need this as well - last time I did GUIs, I wrote 
them in emacs, straight to java classes. After few iterations it was 
finished and never touched again (apart from some small addition of a 
button or something). Those were days before swing, I'm not sure if I 
could repeat the trick nowadays, in Java or anything else.

Overally, my current approach is, avoid excessive typing/mousing. If I am 
to spend a week on program, I'd rather think for five days and type on 
weekend rather than type all week long. Or think some, type some, think 
some more, type some more, but overally, the shorter the code, the better. 
Java is far from there. C and C++ are better but not ideal. Smalltalk and 
Haskell might be there. Common Lisp is there or close.

Now, I think a hypothetical good IDE for last three choices above is very 
far from average "MS Visual C"-like program. I am not sure how Squeak (a 
Smalltalk environment) does the job, I need to find time for playing with 
it. For a while, emacs+slime duo is much closer, I cannot think about 
anything better. Emacs does editing, documentation and code browsing. 
Slime does interaction with live Common Lisp (quick access to 
compilation). And REPL (say, CL prompt) by its nature gives me ability to 
do quick experiments with more complicated pieces of code (function 
prototyping on your command line, with editing and history - after they do 
what I want, simply copy-paste them into program). REPL is very handy for 
macro prototyping, as I have discovered some time ago. And macros in CL, 
well, in case you haven't met with them, it is a bit like extending 
compiler on the fly. Yes, very easy to screw up, hence it is so good to 
prototype. On the other hand, I've read that first implementation of CLOS 
(Common Lisp Object System), i.e. turning CL into OO language, was done by 
means of macros, loaded at will into one's program. For me, this is 
something great.

Majority of work, with all those powerfull abilities, goes on in my own 
head, however. It is more oriented towards expressing concepts in foreign 
language (like CL) in a way that is not disgusting (i.e. I will not feel 
need to rewrite it in foreseeable future). If don't have it in my head, 
IDE is not going to help much, I guess.

Wait, I have once used a nice IDE, it was the one for the Racket language, 
a super-Scheme dialect. Very nice and helpful. No unnecessary stuff, just 
editor and REPL, plus buttons for compiler, profiler etc. I have learnt 
using it on the go. Ideally simple thing. Maybe even beautiful.

So, if a language is right, IDE feels right too, maybe?

Regards,
Tomasz Rola

--
** A C programmer asked whether computer had Buddha's nature.      **
** As the answer, master did "rm -rif" on the programmer's home    **
** directory. And then the C programmer became enlightened...      **
**                                                                 **
** Tomasz Rola          mailto:[email protected]             **

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to