February 04, 2005 Re: Rookie requesting advice (GUI) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Matthew | Matthew wrote:
>>>I strongly don't recommend that you *don't* start with an IDE
>>
>>Why not ? Sounds like an excellent beginner "support"
>
> Because it's a simple (and relieving) transition to go from a basic, but sufficient, understanding of command-line program preparation/execution to using a GUI. It's not so simple to go the other way.
Probably a matter of different "teaching" philosophies ?
I tend to show off the easy path and final results first,
and then do the long and tedious path later when they get
interested in really learning all the basics of the craft.
Or it could just be my Macintosh upbringing speaking. :-)
--anders
|
February 04, 2005 Re: Rookie requesting advice (GUI) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Anders F Björklund | "Anders F Björklund" <afb@algonet.se> wrote in message news:ctvgmh$21br$1@digitaldaemon.com... > Matthew wrote: > >>>>I strongly don't recommend that you *don't* start with an IDE >>> >>>Why not ? Sounds like an excellent beginner "support" >> >> Because it's a simple (and relieving) transition to go from a basic, but sufficient, understanding of command-line program preparation/execution to using a GUI. It's not so simple to go the other way. > > Probably a matter of different "teaching" philosophies ? > > I tend to show off the easy path and final results first, and then do the long and tedious path later when they get interested in really learning all the basics of the craft. Well, it depends whether one wants to teach the specifics of a particular language, in which case the GUI approach is reasonable, or teaching the fundamentals of programming (compiled languages), in which case I think it's good to teach the whole command-line schebang first, so there's no 'hidden skills' crutch which will make a transition to mature and flexible skills more difficult. > Or it could just be my Macintosh upbringing speaking. :-) Well, my first Mac is due on Wednesday, so I may be in harmony with you within a week! :-) |
February 04, 2005 Re: Rookie requesting advice (documentation) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Matthew | Matthew wrote: > You guys are so impatient! :-) Well, there are a lot of us willing to help out to get it out sooner. Spoiled by the speed of the internet and community projects, I guess. > FYI: Walter and I will be officially commencing the writing of "D Programming Distilled" on the 14th of Feb. Of course, the writing and production process involves more than a few months, but we do hope to have it in your sweaty palms before the end of the year. Will this book be available online as well, or just on dead old trees ? Will you discuss it here, or lock yourselves up and come out next year ? Will it be distributable, or come as single-user non-distributable too ? I can fully understand the desire to Copyright and close both the D compiler and book, but I would still have to use Open Source on this Mac OS X platform and an Open Content alternative of any introduction could be very useful too. And also easier for others to contribute to... But even if Addison-Wesley contracts are not that flexible, it would still be most excellent if at least the basic specification could be released under a different license, similar to the compiler front-end ? Then we can build on the same documentation base, as GDC does for code. The current Open alternatives instead use GNU "Copyleft". For instance, GDC is released under the GPL* and the Wiki4D content is under the FDL*. I'm not sure how the process is for getting it upstream to Digital Mars? (well - besides asking Walter politely on these newsgroups, of course) Currently, both the D specification and the Phobos runtime library have severe license issues that will NEED to be resolved before 1.0. Preferrably by release under a dual license, like the DMD front-end. But at least with more than just "©Digital Mars. All Rights Reserved" As discussed already, I prefer Copyleft over Public Domain myself. Here's one reason: http://www.fsf.org/philosophy/why-copyleft.html And it's not a matter of cost, even if I rather pay in time than $. That said, I might buy the book anyway... Heck, I bought one on RPM. --anders * GNU General Public License http://www.gnu.org/copyleft/gpl.html GDC http://home.earthlink.net/~dvdfrdmn/d/ * GNU Free Documentation License http://www.gnu.org/copyleft/fdl.html Wiki4D http://www.prowiki.org/wiki4d/wiki.cgi |
February 04, 2005 Re: Rookie requesting advice (GUI) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Matthew | Matthew wrote: > I totally agree. My brain requires me to suggest Python, > though my heart would suggest Ruby My own stomach still has problems with Python, but Ruby is indeed a great scripting language. (it even comes pre-installed on Mac OS X systems) And probably better to learn than ECMAScript... > If you want a language for easy object-oriented programming, or you > don't like the Perl ugliness, or you do like the concept of lisp, but > don't like too much parentheses, Ruby may be the language of your choice. http://www.ruby-lang.org/ --anders |
February 04, 2005 Re: Rookie requesting advice | ||||
---|---|---|---|---|
| ||||
Posted in reply to Dave | Dave wrote: > That said, you may profit from a book like this on the C language: > > http://www.amazon.com/exec/obidos/tg/detail/-/0672305100/qid=1107490657/sr=1-1/ref=sr_1_1/104-7198268-3891916?v=glance&s=books > > (I have not read it, but there are recent reviews on Amazon that are good, for > whatever that is worth. May be worth the time to check for it at your local > library(s) first. The book probably recommends some tools to use as well.) This is widely considered one of the best books for learning C: http://www.amazon.com/exec/obidos/ASIN/0672326965/qid=1107523377/sr=2-2/ref=pd_ka_b_2_2/104-0594137-5743932 The first edition was published in 1984. I first learned C from the 3rd edition, and now they are on the 5th. I still use my copy as a reference from time to time when things slip my mind, and the appendices (particulatly the standard library reference and ASCII chart) are real handy in a crunch. It's by far the most worn book on my shelf (even more than all of my copies of Myers, Stroustrup, and GoF - which is saying something!). |
February 04, 2005 Re: Rookie requesting advice | ||||
---|---|---|---|---|
| ||||
Posted in reply to Brad Anderson | In article <ctuugt$1g0c$1@digitaldaemon.com>, Brad Anderson says... > >Andy Friesen wrote: >> I would suggest Python instead. > >I would, too. The best thing is the step-by-step tutorial here: > >http://docs.python.org/tut/tut.html I think the suggestion of Python as a first language is a great idea. There's a good amount of documentation/tutorials on it out there, the Python system is open source (and free), and Python is a cool language with a lot of capabilities (even wxPython and ActiveX/COM). Of course, if a novice gets a good handle on how Python works and gets a little bored (not that Python is boring), then they're probably ready for D. :) > >I think D needs a tutorial similar to this. I'm not slighting Justin's effort on dsource here: > >http://www.dsource.org/tutorials/ > >but rather suggesting that we reformat all of the code examples into DocBook, and adding more prose surrounding them. > >BA I think the problem is lack of content rather than formating. ;) I did a sort of first lesson in Wiki4D: http://www.wikiservice.at/d/wiki.cgi?D__Tutorial/StartingWithD Not much, but it's something. I think there are a number of nice examples in the "Fundamentals" category of the dsource tutorials, but until I (or someone else) adds more a lot more commentary it's too much for the average beginner to take in. Justin (jcc7) |
February 04, 2005 Re: Rookie requesting advice | ||||
---|---|---|---|---|
| ||||
Posted in reply to clayasaurus | In article <ctud8s$10pp$1@digitaldaemon.com>, clayasaurus says... > >Just curious, how did you learn about the D programming language? Some guy placed a flyer in the local library here in Jacksonville, NC. The librarian said she thought he was a Marine but she couldn't remember his name. Anyways, I just thought I'd check it out. >If you're the brave type, goto http://www.dsource.org/tutorials/ and try to figure out how the programs work. > >If you need more help, get a book on C++ and learn the basics before attempting D, since there are no books on D written yet. > >You'll need a good programmers text editor (google it). I use Kate on linux. > >Good luck. Thanks. > >:< <>: wrote: >> I am curious if you guys can provide some advice on what tools I should arm >> myself with as I prepare to learn programming. I should make it abundantly clear >> that I have no programming experience, just a desire that I would like to >> fulfill. Don’t know why I am choosing D either but I’m sure it’ll all be clear >> after gaining some experience. >> >> Thanks >> >>>:< >> >> >> |
February 04, 2005 Re: Rookie requesting advice | ||||
---|---|---|---|---|
| ||||
Posted in reply to rookie >: | rookie >:< wrote:
> In article <ctud8s$10pp$1@digitaldaemon.com>, clayasaurus says...
>
>>Just curious, how did you learn about the D programming language?
>
>
> Some guy placed a flyer in the local library here in Jacksonville, NC. The
> librarian said she thought he was a Marine but she couldn't remember his name.
> Anyways, I just thought I'd check it out.
>
>
Ha! I wonder if that was our friendly Marine, Andrew Edwards. I don't know if he's from that area or not. But if so, good for him!
- John R.
|
February 04, 2005 Re: Rookie requesting advice | ||||
---|---|---|---|---|
| ||||
Posted in reply to >: | >:< <>: wrote:
> I am curious if you guys can provide some advice on what tools I should arm
> myself with as I prepare to learn programming. I should make it abundantly clear
> that I have no programming experience, just a desire that I would like to
> fulfill. Don’t know why I am choosing D either but I’m sure it’ll all be clear
> after gaining some experience.
>
> Thanks
>
>>:<
>
>
>
Every programmer needs a good editor. You don't mention your OS, so I'll just mention that on Linux I generally use Kate.
When you are debugging code, print statements are your friends. Use them liberally.
As you write larger chunks of code, test routines become more important. These take a routine, or set of routines, and run it through tests of how it reacts to various different kinds of data. The idea is to cover all possible interactions within the routine, so that you can be certain that "This piece, at least, is working correctly." This drastically narrows where you need to look for an error.
Were I you, and given my understanding that you have no prior programming experience, I would start with Python. This will let you skip much effort in figuring out the types of things and how to deal with them (at the expense of slow execution). Python is well documented, runs almost everywhere, and comes with a large collection of useful libraries.
D is still too bleeding edge to recomment to a neophyte. I'd recommend Eiffel, but the SmartEiffel group is in the midst of a drastic rewrite at the moment and ISE Eiffel is too expensive. And Eiffel's libraries are quite limited.
Python will let you learn about structures of data, control mechanisms, and all the basic principles.
At some point, when you feel ready, pick up a copy of Knuth's Art of Computer Programming. Every programmer should read that at least once. (But learn Python first, so it will make sense. You might even wait until after D starts making sense. Also, if you do that, then the next edition may be out, which is rumored to use C code for the examples rather than MIX.)
Another book to read (not a recommended first book, of first language) is Kernigan & Richie's C (The C Programming Language?). I find C too dangerous a language for ordinary use, and consider in principle the best language I've encountered. But it's too bleeding edge at the moment, and doesn't have a good collection of working libraries, so I can't recommend it to a beginner.
|
February 04, 2005 Re: Rookie requesting advice | ||||
---|---|---|---|---|
| ||||
Posted in reply to TonyW | TonyW wrote:
> I'm about to suggest something that a lot of people will probably disagree
> with.
>
> Your first language should be BASIC. D can be second :)
>
>...
>
Basic strikes me as a truly terrible suggestion, though I know that many have successfully overcome the handicap.
I'm assuming here that you are speaking of some modern dialect of Basic, I don't need to know which one as they are all a poor place to start, and a poor place to end up.
Basic does have some uses, expecially when used as a glue language to glue, e.g., data screens to databases. And even there I think it a poor choice (despite having done so for years). Also, I have caught certain dialects of Basic in simple arithmetic errors. That could be fixed by recompilation, without changing any code. (No, it wasn't either the particular computer, nor the particular installarion, but it might be the particular upgrade version...the errors were infrequent enough that I couldn't ever be certain. And I quickly made strong efforts to avoid doing arithetic in Basic.)
Python has most of the virtues that Basic pretends to, and fewer of the limitations. (Unless you need to use an application that someone else has already built, or you need to be generating "nicely formatted" reports...at which point the virtue isn't in Basic, but in, e.g., the version of the CrystalReports library that it uses.)
|
Copyright © 1999-2021 by the D Language Foundation