|
egarrulo wrote:
> 2009/12/23 Michael Turner <[hidden email]> > >> Why should a newbie be fine with just a syntax-highlighting editor? >> Newbies >> do need more help from tools, not less. I maintain that an easy way to >> compile and run projects and a source-level debugger are vital. >> >> me: >> I'm starting to think that's the best choice for now -- no need to call >> it an editor, just say "here's a program that helps you write, change >> and run Erlang programs." >> >> > > Bravo! That would be a smart move ;-) > > Indeed, who cares about editors? They just need "a program that helps /them/ > write, change > and run Erlang programs." > > On the face of it, Wrangler might seem a strange choice -- for, surely, > >> refactoring tools are for Real Programmers? But maybe not. Maybe >> beginners should have them at the beginning. Some common refactorings >> are very simple, like "change this function name everywhere." I wish >> I'd had that when I was starting out. >> >> > > Agreed. > > > >> As for Flymake, I really don't buy this idea that syntax error messages >> from the Erlang shell are now adequately clear. Hardly a day goes by >> that I don't have to peel myself off the ceiling, shouting, "'Syntax >> error before: &'?! Be specific!" I want to know more. >> >> And so will noobs. >> >> > > That's not a wrong thought. > > I've suggested Emacs because, besides its uncluttered interface, you could > tailor its configuration and its packages' ones to suit your needs, exposing > as much functionality as you wish. > > this when I've finished my ****** marking of final exams) let me know where to find flymake and wrangler; this is the first I've heard of either and they sound very interesting. deryk barker --- |Deryk Barker, Computer Science Dept. | Music does not have to be understood| |Camosun College, Victoria, BC, Canada| It has to be listened to. | |email: [hidden email] | | |phone: +1 250 370 4452 | Hermann Scherchen. | ________________________________________________________________ erlang-questions mailing list. See http://www.erlang.org/faq.html erlang-questions (at) erlang.org |
|
erlware mode has flymake mode integrated,
http://github.com/erlware/erlware-mode and wrangler is available from http://www.cs.kent.ac.uk/projects/forse/ (+no_error_module_mismatch might need to be added to the erlc in flymake.sh for erlware mode, seems to be on a different version from mine) 2009/12/23 Deryk Barker <[hidden email]> > egarrulo wrote: > >> 2009/12/23 Michael Turner <[hidden email]> >> >> >>> Why should a newbie be fine with just a syntax-highlighting editor? >>> Newbies >>> do need more help from tools, not less. I maintain that an easy way to >>> compile and run projects and a source-level debugger are vital. >>> >>> me: >>> I'm starting to think that's the best choice for now -- no need to call >>> it an editor, just say "here's a program that helps you write, change >>> and run Erlang programs." >>> >>> >>> >> >> Bravo! That would be a smart move ;-) >> >> Indeed, who cares about editors? They just need "a program that helps >> /them/ >> write, change >> and run Erlang programs." >> >> On the face of it, Wrangler might seem a strange choice -- for, surely, >> >> >>> refactoring tools are for Real Programmers? But maybe not. Maybe >>> beginners should have them at the beginning. Some common refactorings >>> are very simple, like "change this function name everywhere." I wish >>> I'd had that when I was starting out. >>> >>> >>> >> >> Agreed. >> >> >> >> >>> As for Flymake, I really don't buy this idea that syntax error messages >>> from the Erlang shell are now adequately clear. Hardly a day goes by >>> that I don't have to peel myself off the ceiling, shouting, "'Syntax >>> error before: &'?! Be specific!" I want to know more. >>> >>> And so will noobs. >>> >>> >>> >> >> That's not a wrong thought. >> >> I've suggested Emacs because, besides its uncluttered interface, you could >> tailor its configuration and its packages' ones to suit your needs, >> exposing >> as much functionality as you wish. >> >> >> > Could someone inform a not-quite-noob (I'll have more thoughts on all of > this when I've finished my ****** marking of final exams) let me know where > to find flymake and wrangler; this is the first I've heard of either and > they sound very interesting. > > deryk barker > --- > |Deryk Barker, Computer Science Dept. | Music does not have to be > understood| > |Camosun College, Victoria, BC, Canada| It has to be listened to. > | > |email: [hidden email] | > | > |phone: +1 250 370 4452 | Hermann Scherchen. > | > > > > ________________________________________________________________ > erlang-questions mailing list. See http://www.erlang.org/faq.html > erlang-questions (at) erlang.org > > |
|
In reply to this post by Robert Virding
In the message <[hidden email]>
dated Tue, Dec 22, 2009 at 04:13:04PM +0100, Robert Virding <[hidden email]> writes: > I've programmed Fortran on VAX/VMS, even before I had an Emacs on it. What's > the problem? I've programmed BLISS-32, MACRO-32, VAX C and of course the command scripts on VAX/VMS without Emacs (though I had the EVE editor, which was much easier to use than EDT - in VMS V5.4 in 1990-1991). Syntax coloring is nice (and I'm writing this message in Emacs 22), and other assistance goodies may help writing code, but after all you need to read the code by yourself anyway. And if a person doesn't like the act of programming just because of that, so be it; most of programming is still a tedious work of writing non-WYSIWYG sentences. > Seriously, I think if you are that hung up on an IDE-based environment > you've got problems anyway. In one sense having a very simple and basic > environment may actually be easier to use just because it is so simple and > basic which can make it easier to see and understand what is going on. +1. On Atmel AVR C(++) programming, I decided I'd rather use the good old Make-error-and-retry method than depending on the AVR IDE environment. > Robert Kenji Rikitake ________________________________________________________________ erlang-questions mailing list. See http://www.erlang.org/faq.html erlang-questions (at) erlang.org |
|
In reply to this post by Dale Harvey
Flymake is a part of emacs 23.
On Wed, 23 Dec 2009, Dale Harvey wrote: > erlware mode has flymake mode integrated, > http://github.com/erlware/erlware-mode > > and wrangler is available from > http://www.cs.kent.ac.uk/projects/forse/ > > (+no_error_module_mismatch might need to be added to the erlc in flymake.sh > for erlware mode, seems to be on a different version from mine) ________________________________________________________________ erlang-questions mailing list. See http://www.erlang.org/faq.html erlang-questions (at) erlang.org |
|
In reply to this post by Robert Virding
2009/12/22 Robert Virding <[hidden email]>
> I've programmed Fortran on VAX/VMS, even before I had an Emacs on it. > What's > the problem? > Would you throw away all your Emacs goodies and go back to that? That's the problem. |
|
On Thu, Dec 24, 2009 at 10:46 AM, egarrulo <[hidden email]> wrote:
> 2009/12/22 Robert Virding <[hidden email]> > > > I've programmed Fortran on VAX/VMS, even before I had an Emacs on it. > > What's > > the problem? > > > > Would you throw away all your Emacs goodies and go back to that? > > That's the problem. > I understand that tools like IDEs are "nice to have", but they are not programming. About 80-90% of programming is thinking time. If it is not, then you are experimenting, not designing and writing a system! Experimentation can be valuable step when you are building a system, no doubt. But when it gets to the nitty gritty, no amount of experimentation will get you a solution; no matter how "productive" your tools may make you feel. When learning to program, a lot of what you do is experimentation, so an IDE can be helpful. But only if you also learn that this is not enough! Robby |
|
2009/12/24 Robert Raschke <[hidden email]>
> > I understand that tools like IDEs are "nice to have", but they are not > programming. > > About 80-90% of programming is thinking time. If it is not, then you are > experimenting, not designing and writing a system! > I would agree if we were talking about skilled programmers. When you're learning a new language, the amount of twiddling vs designing is much more. Your understanding of how your program work is limited, and no matter how long you stare at your misbehaving code, you will have a difficult time understanding what and where it's breaking. Maybe I have this opinion because my first language has been C, and learning it without a source level debugger would have been much less efficient. What I've observed is that once people become proficient at a skill, they usually forget how things can be difficult for a newcomer. OTOH, a huge IDE would be overkill, and would hamper learning. That's why I've not recommended using Eclipse. |
|
On 24-Dec-09, at 8:11 AM, egarrulo wrote: > 2009/12/24 Robert Raschke <[hidden email]> > >> >> I understand that tools like IDEs are "nice to have", but they are >> not >> programming. >> >> About 80-90% of programming is thinking time. If it is not, then >> you are >> experimenting, not designing and writing a system! >> > > I would agree if we were talking about skilled programmers. When > you're > learning a new language, the amount of twiddling vs designing is > much more. > Your understanding of how your program work is limited, and no > matter how > long you stare at your misbehaving code, you will have a difficult > time > understanding what and where it's breaking. But this discipline is important even for proficient programmers. Why not develop it at the same time... > Maybe I have this opinion > because my first language has been C, and learning it without a > source level > debugger Mostly, I learned C without a computer to run it on. Just a copy of K&R. I still don't use source level debuggers, 24 years later. > would have been much less efficient. What I've observed is that > once people become proficient at a skill, they usually forget how > things can > be difficult for a newcomer. And if you learn by, and become accustomed to, source level debugging, would you not atrophy skills such as auditing code by eye and reasoning about it statically, and become tool reliant? That's OK, I guess - it's just a different work style. --Toby > > OTOH, a huge IDE would be overkill, and would hamper learning. > That's why > I've not recommended using Eclipse. ________________________________________________________________ erlang-questions mailing list. See http://www.erlang.org/faq.html erlang-questions (at) erlang.org |
|
In reply to this post by egarrulo
In the message <[hidden email]>
dated Thu, Dec 24, 2009 at 11:46:19AM +0100, egarrulo <[hidden email]> writes: > Would you throw away all your Emacs goodies and go back to that? If I didn't have to write Japanese (or even I have to), I'll stick to vim (solely for the multi-level undo feature which BSD nvi doesn't have - so vi is enough). Note that I will not claim which is better or not; I rather want to tell you need to get the things done anyway even if you haven't got the tools you want. And I've written my PhD thesis in English without Emacs :) (I'm writing this using Emacs BTW.) I think automatic indentation is essential for editing the code of most of the programming languages including Erlang, C, awk, Perl, Python, or whatever too. I still rarely use source code debuggers unless to analyze a coredump file for the stack trace. I'd rather review the source code myself and simulate how it works to find out what I did wrong when debugging. One very good thing about Erlang is that all variables are only assigned ONCE; this will make the debugging much easier. And I suggest you to read the "10. The more talented somebody is, the less they need the props." section of the Web page in the following URL. Having a better toolset does not necessarily guarantee you can do much better work. http://gapingvoid.com/books/ Just a thought. Regards, Kenji Rikitake ________________________________________________________________ erlang-questions mailing list. See http://www.erlang.org/faq.html erlang-questions (at) erlang.org |
|
In reply to this post by egarrulo
2009/12/24 egarrulo <[hidden email]>
> 2009/12/22 Robert Virding <[hidden email]> > > I've programmed Fortran on VAX/VMS, even before I had an Emacs on it. >> What's >> the problem? >> > > Would you throw away all your Emacs goodies and go back to that? > > That's the problem. > No, my point was rather that you take what you can get and work it. It doesn't mean that you can't try and improve your tools, I was a member of a group who implemented an emacs look-alike for VAX/VMS and Dec-10. But I do think that refusing to learn and use a language because it doesn't have an IDE is rather stupid, it is not really that difficult to do it yourself. Also I tend to be skeptical of "intelligent" systems that try to help me. I often find that if such systems don't get it really right they are usually a hindrance as you then have to work around them. I have nothing against getting help but I prefer its workings to be transparent so you can understand what it does and can use it efficiently. Robert P.S. For a real experience you should try editing lisp without an editor which knows lisp indentation. |
|
In reply to this post by Toby Thain
On Dec 24, 2009, at 6:40 PM, Toby Thain wrote:
[...] > Mostly, I learned C without a computer to run it on. Just a copy of K&R. I still don't use source level debuggers, 24 years later. > [...] > And if you learn by, and become accustomed to, source level debugging, would you not atrophy skills such as auditing code by eye and reasoning about it statically, and become tool reliant? > > That's OK, I guess - it's just a different work style. Glad to see my thoughts shared by someone else. I've worked on big projects for almost every existing platform (OS/400, MVS, HOST, Plan9 ...) coding on a plethora of languages with lots of different screen-oriented editors (seu, sam, mostly vim on *nix derivatives, no syntax highlighting whatsoever), and I've found my lack of dependence on external tools such as context-sensitive editors, IDEs, RADs and source debuggers to be definitely positive. I'm unquestionably not a genius, but I can look at a source and spot the bug most often than not, and I believe it should be a featured shared by every programmer. I also agree with a previous poster on the fact that IDEs and RADs are (unless complex UIs are involved) mostly the consequence of syntactically confusing programming languages with lots of incoherently long-named library functions. What I often see is programmers who keep on coding mostly by using cut&paste and function/prototype completion, and debug on a bovine trial-and-error basis with their powerful debuggers. After one year this way they still cannot remember most of the functions they regularly use, which is sad. Ciao, Illo. PS: I'm somewhat fanatical, but I believe function/arguments completion to be the root of all evil -- even if I couldn't do without it when programming with laughably-long-constructs-based languages. ________________________________________________________________ erlang-questions mailing list. See http://www.erlang.org/faq.html erlang-questions (at) erlang.org |
|
In reply to this post by Kenji Rikitake
On 12/25/2009, "Kenji Rikitake" <[hidden email]> wrote: >One very good thing about Erlang is that all variables are only assigned >ONCE; this will make the debugging much easier. There's another good thing about Erlang assignment: it's not really assignment. Which is good, because assignment is a pretty weird concept. We just forgot. Years ago, I has a girlfriend who was not exactly bad at math (we were in the same differential equations course; she was scoring higher on the tests). She knew nothing about computers, though. She pointed out something she was sure was an error in a FORTRAN program I was writing: X = X+1 To her, this was impossible. I tried to explain assignment, but I think she was still puzzled in the end. Erlang "assignment" is really more like a kind of equation solving. To the extent that people new to programming have any mathematical intuitions or skills they might bring to bear on learning the skill, Erlang would seem to be a better match to what they learned in their basic algebra classes. -michael turner On 12/25/2009, "Kenji Rikitake" <[hidden email]> wrote: >In the message <[hidden email]> >dated Thu, Dec 24, 2009 at 11:46:19AM +0100, >egarrulo <[hidden email]> writes: >> Would you throw away all your Emacs goodies and go back to that? > >If I didn't have to write Japanese (or even I have to), I'll stick to >vim (solely for the multi-level undo feature which BSD nvi doesn't have >- so vi is enough). Note that I will not claim which is better or not; I >rather want to tell you need to get the things done anyway even if you >haven't got the tools you want. And I've written my PhD thesis in >English without Emacs :) (I'm writing this using Emacs BTW.) > >I think automatic indentation is essential for editing the code of most >of the programming languages including Erlang, C, awk, Perl, Python, or >whatever too. > >I still rarely use source code debuggers unless to analyze a coredump >file for the stack trace. I'd rather review the source code myself and >simulate how it works to find out what I did wrong when debugging. > >One very good thing about Erlang is that all variables are only assigned >ONCE; this will make the debugging much easier. > >And I suggest you to read the "10. The more talented somebody is, the >less they need the props." section of the Web page in the following URL. >Having a better toolset does not necessarily guarantee you can do much >better work. > >http://gapingvoid.com/books/ > >Just a thought. > >Regards, >Kenji Rikitake > >________________________________________________________________ >erlang-questions mailing list. See http://www.erlang.org/faq.html >erlang-questions (at) erlang.org > > ________________________________________________________________ erlang-questions mailing list. See http://www.erlang.org/faq.html erlang-questions (at) erlang.org |
|
In reply to this post by Toby Thain
2009/12/24 Toby Thain <[hidden email]>
> >> Mostly, I learned C without a computer to run it on. Just a copy of K&R. Same here ^_^ (albeit with a different book). I still don't use source level debuggers, 24 years later. In his "Writing Solid Code", Steve Maguire recommends running all new code through a source level debugger to check things are going the way you think they should. After reading that book, even if I'm able to understand code by staring at it, I routinely run my code through a source level debugger. This habit has allowed me to deeply understand some intricacies of C/C++ (I again stress that C/C++ have lots of pitfalls compared to Erlang). I maintain that a source level debugger - just like other program analysis tools - allows you to inspect a live program thus understand it at deeper levels, therefore it is an invaluable aid in learning/teaching. Some people maintain that source level debuggers are close to useless, however, as soon as a program starts misbehaving, you could see them cluttering it with printing statements to inspect its activity, that is: doing what a source level debugger would do much better. If, however, you really can do fine and fast without debuggers - I've never seen such a programmer - then by all means go for it. > And if you learn by, and become accustomed to, source level debugging, > would you not atrophy skills such as auditing code by eye and reasoning > about it statically, and become tool reliant? > Maybe. Can you still make math without a calculator? That depends on whether you have kept honed such skills. When a program misbehaves, I usually stare at its code first. |
|
In reply to this post by Robert Virding
2009/12/25 Robert Virding <[hidden email]>
> > But I do think that refusing to learn and use a language because it doesn't > have an IDE is rather stupid, it is not really that difficult to do it > yourself. > *It is* if you are a newbie both at programming and at using related tools. Unlike some people who call an IDE any editor with syntax-highlighting which allows you to run a compiler, I call an IDE at least an editor with syntax-highlighting which allows you to run a compiler *and* single step and debug your programs at source level. > > Also I tend to be skeptical of "intelligent" systems that try to help me. I > often find that if such systems don't get it really right they are usually a > hindrance as you then have to work around them. I have nothing against > getting help but I prefer its workings to be transparent so you can > understand what it does and can use it efficiently. > I do agree wholeheartedly (that's why I cannot stand Eclipse). Let's just not forget we all started bicycling with training wheels, and crawled before walking (again, that's why I've suggested Emacs as IDE). |
|
Hey People, IDEs are simply a tool - nothing less and nothing more; a good programmer doesn't really need one. Programming is an art form that doesn't need tools. However some programmers or artisans find the right tools useful to them and other people, who are not programmers, find that with tools they can be somewhat successful at programming but may not ever become a true artist or Michalangelo. Don't bash IDEs in general - they, like Erlang itself - have their uses. Remember: you don't NEED Erlang to be a good programmer either - programming is an art not defined by the language (which is the tool) one is using. Just as art can be poetry, painting, sculpture or even modern art that baffles the imagination. It's far better to ask, "When is it appropriate to use this tool (Erlang, this particular IDE)?" imho. DSL ________________________________________________________________ erlang-questions mailing list. See http://www.erlang.org/faq.html erlang-questions (at) erlang.org |
|
In reply to this post by egarrulo
2009/12/28 egarrulo <[hidden email]>
> > I do agree wholeheartedly (that's why I cannot stand Eclipse). Let's just > not forget we all started bicycling with training wheels, and crawled before > walking (again, that's why I've suggested Emacs as IDE). > While I most likely crawled before walking (can't remember myself) I never had training wheels on my first bicycle. It worked quite well but it did make stopping "interesting" until I was tall enough to reach the ground. :-) Robert |
|
In reply to this post by egarrulo
On 27-Dec-09, at 6:01 PM, egarrulo wrote: > 2009/12/24 Toby Thain <[hidden email]> > ... > > And if you learn by, and become accustomed to, source level > debugging, would you not atrophy skills such as auditing code by > eye and reasoning about it statically, and become tool reliant? > > Maybe. Can you still make math without a calculator? That depends > on whether you have kept honed such skills. I cultivate the habit of using pencil and paper instead of a calculator for that reason. > When a program misbehaves, I usually stare at its code first. > Also a habit to be cultivated. --Toby |
|
In reply to this post by egarrulo
On 27-Dec-09, at 6:22 PM, egarrulo wrote: > 2009/12/25 Robert Virding <[hidden email]> > >> >> But I do think that refusing to learn and use a language because >> it doesn't >> have an IDE is rather stupid, it is not really that difficult to >> do it >> yourself. >> > > *It is* if you are a newbie both at programming and at using > related tools. > Unlike some people who call an IDE any editor with syntax- > highlighting which > allows you to run a compiler, I call an IDE at least an editor with > syntax-highlighting which allows you to run a compiler *and* single > step and > debug your programs at source level. > > >> >> Also I tend to be skeptical of "intelligent" systems that try to >> help me. I >> often find that if such systems don't get it really right they are >> usually a >> hindrance as you then have to work around them. I have nothing >> against >> getting help but I prefer its workings to be transparent so you can >> understand what it does and can use it efficiently. >> > > I do agree wholeheartedly (that's why I cannot stand Eclipse). > Let's just > not forget we all started bicycling with training wheels, and > crawled before > walking (again, that's why I've suggested Emacs as IDE). Then we all now seem to be in agreement that source level debuggers, IDEs, fancy editors or even a computer are entirely optional as learning aids. --Toby ________________________________________________________________ erlang-questions mailing list. See http://www.erlang.org/faq.html erlang-questions (at) erlang.org |
|
In reply to this post by David Lloyd-3
Greetings,
Disclaimer: It feels like Art vs Craft/Engineering flame bait. My apologies, if it was not the intention. As long as Programming is art, I can agree that you do not need tools. But that is only possible if one is developing small programmes in his leisure time. Once Programming is a craft or profession, you NEED Good tools, or you will never get your job done. Building anything remotely complicated calls for discipline and proper tools. Building summerhouse can be done spontaneously and for fun. Building cathedral is totally different matter. Regards, Vasilij Savin On Mon, Dec 28, 2009 at 1:36 AM, David Lloyd <[hidden email]> wrote: > > Hey People, > > IDEs are simply a tool - nothing less and nothing more; a good programmer > doesn't really need one. > > Programming is an art form that doesn't need tools. > > However some programmers or artisans find the right tools useful to them > and other people, who are not programmers, find that with tools they can be > somewhat successful at programming but may not ever become a true artist or > Michalangelo. > > Don't bash IDEs in general - they, like Erlang itself - have their uses. > > Remember: you don't NEED Erlang to be a good programmer either - > programming is an art not defined by the language (which is the tool) one is > using. Just as art can be poetry, painting, sculpture or even modern art > that baffles the imagination. > > It's far better to ask, "When is it appropriate to use this tool (Erlang, > this particular IDE)?" imho. > > DSL > > > ________________________________________________________________ > erlang-questions mailing list. See http://www.erlang.org/faq.html > erlang-questions (at) erlang.org > > |
|
On Dec 28, 2009, at 6:20 AM, Vasilij Savin wrote:
> [...] > Once Programming is a craft or profession, you NEED Good tools, or you will > never get your job done. Building anything remotely complicated calls for > discipline and proper tools. Come on! How would you call an entire PKI written ground-up in C and Python without using any GPLed library (most notably OpenSSL or cryptlib)? I mean, every cryptographic algorithm rewritten, the whole ASN.1 engine, X.509 and PKCS and stuff. My colleagues and I used vim, make, gcc, python, binutils. I won't bore you with the countless projects I've been involved in, but I assure you that your statement is questionable. A job can actually be done when people are skilled, no matter the tools. Ciao, Illo. ________________________________________________________________ erlang-questions mailing list. See http://www.erlang.org/faq.html erlang-questions (at) erlang.org |
| Powered by Nabble | Edit this page |
