February 04, 2005 Re: Rookie requesting advice | ||||
---|---|---|---|---|
| ||||
Posted in reply to John Reimer | John Reimer wrote:
> Brad Anderson wrote:
>
>> 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 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
>
>
>
> Hey Brad,
>
> You're right. We need some more written explanations as tutorials. It might be kind of fun to start something like that. The current tutorials are more geared to people with some programming experience, a goal they achieve well.
>
> Perhaps such a section could be added to dsource in the future. I'm thinking of starting some mango tutorials.
>
> Later,
>
> John R.
If you do, please consider a section of linking libraries into the code. I've never done much C programming on Linux (I used CodeWarrior on the Mac), and while I could handle JES2, I haven't found Linux to be as transparent. (Can't just pull out the white manual from IBM and look up whatever's bothering me as an example.) I've got detailed technical references, but nothing to tell me how to get started, or how to figure out just which libraries I need.
|
February 04, 2005 Re: Rookie requesting advice (documentation) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Anders F Björklund | Anders F Björklund wrote: > 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 ? An approach that has been somewhat successful can be found here. It's been a community effort, but led by Peter Seibel for a Lisp book: http://www.gigamonkeys.com/book/pipeline.html BA |
February 04, 2005 Re: Rookie requesting advice | ||||
---|---|---|---|---|
| ||||
Posted in reply to Charles Hixson | Charles Hixson wrote: <snip several paragraphs> > Python will let you learn about structures of data, control mechanisms, and all the basic principles. > I wish I had started out with a language like Python when I first learned how to program, instead of BASIC. Python is BASIC-like in some respects but much more powerful. > 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.) Are you kidding?! Knuth's Art of Computer Programming is currently a 3 volume set of VERY indepth material, over 2000+ pages (I have the set sitting on my desk). While I've heard others recommend these books in the same manner you have ("every programmer should read them"), they are far from something a novice will want to just wade into someday: apart from using them in a computer science course, you would have to be quite self-motivated to study those books to completion. Realistically, the content depends on a detailed knowledge of symbolic notation and mathematics combined with some prior computer science knowledge. It's definitely not a casual read, and certainly not a necessity for every programmer to feel obligated to complete someday (please... don't tell me I have to read them ;-)). For those that are motivated, I'd certainly say have at it! But mentioning the volumes at this point would probably do more to scare the average beginner half to death. It's like slamming /Principles of Organic Chemistry/ on the desk of an elementary school student. Have you actually read all three volumes? > 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. Which language do you consider is the best you've encountered? It looks like your line got cut off. Anyway, C is certainly a useful language for some things. I agree that it may not be the best first language, but knowing C will certainly help in learning D, if not for the simple reason that one must learn to manipulate the standard command line tools. - John R. |
February 04, 2005 Re: Rookie requesting advice | ||||
---|---|---|---|---|
| ||||
Posted in reply to Charles Hixson | Charles Hixson wrote:
>
> If you do, please consider a section of linking libraries into the code. I've never done much C programming on Linux (I used CodeWarrior on the Mac), and while I could handle JES2, I haven't found Linux to be as transparent. (Can't just pull out the white manual from IBM and look up whatever's bothering me as an example.) I've got detailed technical references, but nothing to tell me how to get started, or how to figure out just which libraries I need.
That's a good idea. In fact such a tutorial probably should be a priority. I'll see what I can do.
|
February 04, 2005 Re: Rookie requesting advice | ||||
---|---|---|---|---|
| ||||
Posted in reply to Charles Hixson | Charles Hixson wrote: > When you are debugging code, print statements are your friends. Use them liberally. Just make sure to enclose them in "debug" statements, for any D code. http://www.digitalmars.com/d/version.html A much greater ally to have around is a source-level debugger, though. > 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. If you like Eiffel and for some reason stand Python, you'll love Ruby... > 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. As in: "before they die". Probably a good way to scare someone for life? > 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. That should probably be "D" in your findings, but K&R is a good book. --anders |
February 05, 2005 Re: Rookie requesting advice | ||||
---|---|---|---|---|
| ||||
Posted in reply to >: | I'm going to make a few (probably very unpopular) suggestions. In my opinion, someone just beginning with programming shouldn't have to worry about compiling and linking their software. Learning about variables and arrays and control structures is enough new material to fill up their brains pretty quickly. Learning to write makefiles is mind-bendingly difficult at that stage of the game. Instead, I'd recommend a programming environment that requires no compilation at all. Furthermore, I think it's also beneficial to have a rich execution environment that provides lots and lots of interesting functionality that's available even to a beginner. As such, I have two standard recommendations for first programming languages that I always give to beginners: #1 -- JavaScript JavaScript is a great language to start with because you can start doing interesting things with just a few lines of code. You also have access to the full breadth of functionality in your favorite browser's Document Object Model. #2 -- Visual Basic for Applications VBA is a subset of the Visual Basic programming language, and is (in my opinion) easier to start working with than regular VB. VBA is the scripting language for Microsoft Excel and Word, which both include a rudimentary IDE for editing VBA code. Both Excel and Word provide rich object models for interacting with the host application, and you can see the results of your coding without compilation. Most importantly, though, is that the MS Office VBA development environment includes a debugger, allowing a programmer to step through program flow, inspecting variable values and setting breakpoints. I think it's a great introduction to programming. Of course, once a new programmer is familiar with essential programming concepts, I would recommend a programming environment that doesn't need to execute in an application container (like JavaScript and VBA), but that still doesn't require complex build scripts. Probably something along the lines of PHP or Perl. Then, as a third language, I'd recommend something compiled, like Java or C or C++ or D. --Benji Smith |
February 05, 2005 Re: Rookie requesting advice | ||||
---|---|---|---|---|
| ||||
Posted in reply to Benji Smith | Benji Smith <dlanguage@xxagg.com> wrote:
>#2 -- Visual Basic for Applications
I should have also mentioned that the MS Office applications allow you to record a macro which then gets saved as VBA code. So you can start recording the macro, then do a few things in the user interface, and then stop recording. Then you can inspect the code to see how the application's object model works.
Also, Microsoft has included TONS of documentation for the functions available within each application's object model. Just enter the VBA programming environment and press the F1 key.
--Benji Smith
|
February 05, 2005 Re: Rookie requesting advice | ||||
---|---|---|---|---|
| ||||
Posted in reply to Benji Smith | Benji Smith wrote: > I'm going to make a few (probably very unpopular) suggestions. > > In my opinion, someone just beginning with programming shouldn't have > to worry about compiling and linking their software. Learning about > variables and arrays and control structures is enough new material to > fill up their brains pretty quickly. Learning to write makefiles is > mind-bendingly difficult at that stage of the game. > People are variable on how they need to learn new things. Your advice may be perfectly suitable for some, but not for others. So I don't think anybody could fault your opinion in this regard: that just may be the best approach for some people to learn programming. <snip> > Of course, once a new programmer is familiar with essential > programming concepts, I would recommend a programming environment that > doesn't need to execute in an application container (like JavaScript > and VBA), but that still doesn't require complex build scripts. > Probably something along the lines of PHP or Perl. I'm still of the opinion that d should NOT require complex build scripts either. The build process should have evolved by now away from the complicated makefiles of the C era. Work must continue on a easy-to-use standard d build tool. In its time, the Modula-3 compiler system came with some novel and simple build tools that made use of an integrated "quake" sripting langauge. I think d needs to provide similar utilities to help capture the world's imagination. Where is Steve Jobs' "reality distortion field" when you need it? - John R. |
February 05, 2005 Re: Rookie requesting advice | ||||
---|---|---|---|---|
| ||||
Posted in reply to John Reimer | "John Reimer" <brk_6502@yahoo.com> wrote in message news:cu06pa$2opo$1@digitaldaemon.com... > 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! Andrew has been indefatigable at helping people get to know about D. He tries things I'd never think of! |
February 05, 2005 Re: Rookie requesting advice | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter | "Walter" <newshound@digitalmars.com> wrote in message news:cu1ije$vic$1@digitaldaemon.com... > > "John Reimer" <brk_6502@yahoo.com> wrote in message news:cu06pa$2opo$1@digitaldaemon.com... >> 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! > > Andrew has been indefatigable at helping people get to know about D. > He > tries things I'd never think of! Maybe we can get him to publicise "D Programming Distilled"? (And maybe "Imperfect C++" !?) :-) |
Copyright © 1999-2021 by the D Language Foundation