February 04, 2005 Re: Rookie requesting advice | ||||
---|---|---|---|---|
| ||||
Posted in reply to clayasaurus | clayasaurus wrote: > Just curious, how did you learn about the D programming language? > > If you're the brave type, goto http://www.dsource.org/tutorials/ and try to figure out how the programs work. For a new programmer, perusing those tutorials will likely be confusing at this point. I'm not really sure what to recommend for such a person who wants to learn D with no prior programming knowledge. It's probably better to tackle some none "beta" languages to get a better idea of programming concepts. As much as I love D, I consider it to be a moving target right now. You don't want that when you're starting out. Python (or Ruby to learn strong OOP concepts) might be a better language to approach first. See online book: /How to think like a Computer Scientist/ at http://www.ibiblio.org/obp/thinkCSpy/ I have a younger brother who is just starting out in programming. I purposely avoided recommending that he learn D. He's working on Python right now instead. D is better matched for those moving from C, C++, C#, and Java languages. These people tend to have the experience necessary to troubleshoot around D's rough edges. They also tend to have more appreciation for what D has done to improve upone those languages. > 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. C++? Ouch! That's a cruel language to start learning! I got a headache studying that language even after having used C for several years. On the other hand, one would certainly enjoy D after trying to learn C++. > You'll need a good programmers text editor (google it). I use Kate on linux. I agree; Kate is great! Also try Scite as another simple, but powerful cross-platform editor. Both solutions support many languages (including D). - John R. |
February 04, 2005 Re: Rookie requesting advice | ||||
---|---|---|---|---|
| ||||
Posted in reply to Brad Anderson | 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.
|
February 04, 2005 Re: Rookie requesting advice | ||||
---|---|---|---|---|
| ||||
Posted in reply to >: | In article <ctuai4$ufl$1@digitaldaemon.com>, >:< <>: says... > >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 >>:< > > As a couple of others have mentioned, the biggest impediment to learning D is that there isn't a book (at least for the English language) out for it yet - It is a relatively new language intended primarily for those who have had experience with other languages. 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.) Bare in mind that in many ways D is quite a bit different than C, but if you are on a 'fast track' to learn D, I think learning a basic to intermediate subset of C is a good place to start. Short of a D book, I do believe that a *good* "beginning programmer" book on C will most quickly get you to your goal of being able to write D programs. I don't think you can go wrong, in general, by learning C, and a lot of what you learn will be applicable to programming with D (and many other languages for that matter). Good luck, have fun! - Dave |
February 04, 2005 Re: Rookie requesting advice | ||||
---|---|---|---|---|
| ||||
Posted in reply to Dave | Dave wrote:
> In article <ctuai4$ufl$1@digitaldaemon.com>, >:< <>: says...
>
>>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
>>
>>>:<
>>
>>
>
> As a couple of others have mentioned, the biggest impediment to learning D is
> that there isn't a book (at least for the English language) out for it yet - It
> is a relatively new language intended primarily for those who have had
> experience with other languages.
>
> 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.)
>
> Bare in mind that in many ways D is quite a bit different than C, but if you are
> on a 'fast track' to learn D, I think learning a basic to intermediate subset of
> C is a good place to start. Short of a D book, I do believe that a *good*
> "beginning programmer" book on C will most quickly get you to your goal of being
> able to write D programs.
>
> I don't think you can go wrong, in general, by learning C, and a lot of what you
> learn will be applicable to programming with D (and many other languages for
> that matter).
>
> Good luck, have fun!
>
> - Dave
>
>
Good advice!
|
February 04, 2005 Re: Rookie requesting advice | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter | Walter wrote: >>public class Hello { >> public static void main(String[] args) { >> System.out.println("Hello world"); >> } >>} > > Here it is in D: > > void main() > { > writefln("Hello world"); > } That does not compile, and returns bogus values to the shell even when the proper import is added. Also, writefln has problems with '%' just like printf has (not sure why "Hello World" in C does not use "puts" instead, since it's faster anyway?) My suggestion for the code in "D 1.0" is instead: > import std.stdio; > > void main() > { > writeln("Hello, World!"); > } That depends on two issues being addressed: 1) The addition of std.stdio.writeln 2) Fixing the return value of "void main". I've done the first, and working on the second... But in the current version of D, the only reliable way to start is to use old C code: > int main() > { > printf("Hello, World!\n"); > return 0; > } And that sucks, since I prefer the first one. (even if it also *requires* a Unicode console, while the Java works fine with e.g. MacRoman) writeln("Hall\u00E5, V\u00E4rlden!"); // sv --anders |
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 (Integrated Development Environment: a GUI tool that allows you to edit, compile, build and debug all in one comfy environment). Why not ? Sounds like an excellent beginner "support" I would even suggest starting with a language that does *not* need compiling, such as the scripting languages... > I think you should start using a simple text editor, although one with syntax highlighting would be preferential. Most IDE's have quite decent such text editors as well. (shouldn't text editing be done from the console too then?) [edited] > The basic process one goes through is: > - write some code > - compile it - the compiler > - build it - the linker - test it - run your program > > So, the tools are: > - text editor > - compiler/linker - dmd.exe (comes with the DMD download). These steps are exactly the same in a decent IDE, but without having to use the console commands... Design / Edit, Compile, Link, Unittest / Debug, Profile Starting to hack out code without a general design, or starting debugging without a simple test program, is just wasting time and effort - IMHO. --anders |
February 04, 2005 Re: Rookie requesting advice | ||||
---|---|---|---|---|
| ||||
Posted in reply to >: | Before choosing the tools, consider what you want to create and have passion for. A simple game project is often a good starter.
>:< <>: 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 Dave | "Dave" <Dave_member@pathlink.com> wrote in message news:ctv1st$1jor$1@digitaldaemon.com... > In article <ctuai4$ufl$1@digitaldaemon.com>, >:< <>: says... >> >>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 >>>:< >> >> > > As a couple of others have mentioned, the biggest impediment to > learning D is > that there isn't a book (at least for the English language) out for it > yet - It > is a relatively new language intended primarily for those who have had > experience with other languages. You guys are so impatient! :-) 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. Cheers Matthew P.S. If anyone's looking for a book on C++ that's decidely *not* an introductory text, you might skip down four or five lines .... -- Matthew Wilson Author: "Imperfect C++", Addison-Wesley, 2004 (http://www.imperfectcplusplus.com) Contributing editor, C/C++ Users Journal (http://www.synesis.com.au/articles.html#columns) STLSoft moderator (http://www.stlsoft.org) "If I'm curt with you it's because time is a factor. I think fast, I talk fast, and I need you guys to act fast" -- Mr Wolf ------------------------------------------------------------------------------- |
February 04, 2005 Re: Rookie requesting advice | ||||
---|---|---|---|---|
| ||||
Posted in reply to >: | A bunch of smilies 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.
I don't think you should choose D as a first language.
Even if it had been ready, which it isn't just yet...
Here's my advice.
Your first language should be a forgiving one, without
compilation requirements, such as Perl or Python or so ?
PHP is becoming increasingly popular, using web as a start.
(JavaScript or DMDScript would probably also work just fine)
While I wouldn't recommend BASIC to anyone, the GUI/IDE on
Windows is not all that bad. (or RealBasic's for anyone else)
The second language should probably be a managed object-oriented
language such as Java or even C#. Just to learn the OOP ideom,
and also getting used to compiling into code before running it.
The code is still shielded from the actual machine, which is both
easier when debugging and incidently also more binary-portable.
As a third language then you probably want to get closer to the
machine hardware, and see actual instructions and machine code.
Languages such as C, or even assembler, are good for this job.
Learning about underlying data structures and other programming
theory, will also help out a lot with effiency and solutions.
Then D should be a nice choice for a fourth programming language.
Maybe it has even been released, by the time you get there... :-)
(and hopefully it should keep anyone from ever having to learn C++)
But your first task is to use a real name. ;-) And to get writing!
--anders
PS. I use Perl, JavaScript, PHP, Java, C and occasionally D, myself.
If I did more GUIs, I would probably do more C++ and Objective-C.
|
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:ctveb5$1vav$1@digitaldaemon.com... > Matthew wrote: > >> I strongly don't recommend that you *don't* start with an IDE (Integrated Development Environment: a GUI tool that allows you to edit, compile, build and debug all in one comfy environment). > > 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. > I would even suggest starting with a language that does *not* need compiling, such as the scripting languages... I totally agree. My brain requires me to suggest Python, though my heart would suggest Ruby |
Copyright © 1999-2021 by the D Language Foundation