digitalmars.D.learn - Beginner ?. Why does D suggest to learn java
- RBfromME (5/5) Oct 16 2014 I'm a newbie to programming and have been looking into the D lang
- =?UTF-8?B?QWxpIMOHZWhyZWxp?= (11/15) Oct 16 2014 Here:
- MachineCode (3/21) Oct 16 2014 I don't understand. If at least it were C but java? why not D
- ketmar via Digitalmars-d-learn (15/17) Oct 16 2014 On Fri, 17 Oct 2014 00:52:14 +0000
- Paulo Pinto (10/35) Oct 17 2014 Better, go with FreePascal http://www.freepascal.org/ and
- Jessica Rauth (21/60) Oct 17 2014 One of the problem when starting out with FPC resides in the fact
- Paulo Pinto (30/83) Oct 17 2014 Although I am biased to the Pascal family of languages, this has been
- Mike James (4/43) Oct 18 2014 Don't tell him that - he may discover Freepascal/Lazarus is the
- spir via Digitalmars-d-learn (10/26) Oct 17 2014 What you say here applies, I guess, to many other points. I applaud Ali ...
- ketmar via Digitalmars-d-learn (5/15) Oct 17 2014 that's why i'm sure that basic programming must be teached in school.
- eles (7/11) Oct 17 2014 Let's say, computer knowledge. There are also database
- ketmar via Digitalmars-d-learn (4/13) Oct 17 2014 yes, you are right. that was what i mean: not only programming, but
- Chris (4/19) Oct 17 2014 But then people won't trust them bloody machines an inch anymore!
- ketmar via Digitalmars-d-learn (4/6) Oct 17 2014 most people believe that technology is magic. yes, maybe it's too cruel
- olivier henley (8/8) Oct 17 2014 . D is pristine clean and immensely powerful.
- Joakim (24/31) Oct 17 2014 This is nonsense and I see it repeated all the time, with
- ketmar via Digitalmars-d-learn (16/37) Oct 17 2014 On Fri, 17 Oct 2014 20:40:37 +0000
- Joakim (24/62) Oct 17 2014 You do realize that most people are clueless about how to fix
- ketmar via Digitalmars-d-learn (39/63) Oct 17 2014 On Fri, 17 Oct 2014 23:31:45 +0000
- Joakim (44/131) Oct 18 2014 No disagreement there, but even the smart ones can only learn so
- ketmar via Digitalmars-d-learn (90/134) Oct 18 2014 On Sat, 18 Oct 2014 19:42:50 +0000
- Joakim (77/258) Oct 18 2014 So much of what's taught today is so worthless that I'm skeptical
- ketmar via Digitalmars-d-learn (42/64) Oct 18 2014 On Sat, 18 Oct 2014 23:38:35 +0000
- Joakim (27/110) Oct 19 2014 I guess, when does anyone ever convince anyone else online?
- ketmar via Digitalmars-d-learn (26/45) Oct 19 2014 On Sun, 19 Oct 2014 23:34:17 +0000
- ketmar via Digitalmars-d-learn (5/5) Oct 17 2014 On Sat, 18 Oct 2014 03:05:58 +0300
- Kagamin (3/7) Oct 20 2014 LOL
- Joakim (20/27) Oct 20 2014 Are you laughing because of this? :)
- Mitch Crane via Digitalmars-d-learn (3/7) Oct 20 2014 All the more, those numbers reflecting infection rates on mobile network...
- Brad Anderson (11/16) Oct 16 2014 The Overview page is ancient and needs to be rewritten. The
- ketmar via Digitalmars-d-learn (5/7) Oct 16 2014 On Thu, 16 Oct 2014 22:43:11 +0000
- bearophile (5/10) Oct 16 2014 Python is probably a better first language than Java. D is a
- "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= (10/12) Oct 16 2014 The IDE support is probably a bit better with Java/C# and using a
- maarten van damme via Digitalmars-d-learn (7/20) Oct 16 2014 While d can be complex, there's nothing preventing you from starting out
- "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= (13/19) Oct 17 2014 Anything that keeps you motivated is suitable, but for a beginner
- spir via Digitalmars-d-learn (11/15) Oct 17 2014 For some reasons, in my view: A beginner has to learn programming in add...
- bearophile (8/11) Oct 17 2014 The importance of the IDE for the first language is
- "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= (17/25) Oct 17 2014 Perhaps it depends on the person and the language, but I would
- ketmar via Digitalmars-d-learn (4/6) Oct 17 2014 yet Scheme will teach how to write functional code. it's a valuable
- "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= (9/11) Oct 17 2014 I think spending a few days with Scheme is valuable for all
- Chris (39/44) Oct 17 2014 I agree with Ali. Give it a try, you don't need to use all the
- Kagamin (6/8) Oct 17 2014 In basic you can easily get simple graphics too, it's really
- ketmar via Digitalmars-d-learn (4/5) Oct 17 2014 On Fri, 17 Oct 2014 13:13:36 +0000
- Jesse Phillips (6/11) Oct 17 2014 The answer is that teaching material for a very beginner is
- RBfromME (25/30) Oct 17 2014 Thank you for taking the time to respond to my inquiry. I've
- Rikki Cattermole (6/33) Oct 17 2014 If you want to see shared libraries with a c interface bound to D
- "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= (37/50) Oct 18 2014 If you find D more fun, then use D, but OO is little more than
- HaraldZealot (27/32) Oct 18 2014 I have taught programming and programming language for several
- Kapps (28/33) Oct 21 2014 Honestly, I'd recommend starting with VB.net or C# (preferably
- ketmar via Digitalmars-d-learn (4/5) Oct 21 2014 that's very bad. it's time to stop making people think that templates
- Paulo Pinto (8/15) Oct 21 2014 People think templates are magic, due to their skillset.
- ketmar via Digitalmars-d-learn (5/6) Oct 21 2014 On Tue, 21 Oct 2014 11:20:42 +0000
- "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= (5/7) Oct 21 2014 The problem with template-programming in XSLT/C++/D is that if
- ketmar via Digitalmars-d-learn (4/7) Oct 21 2014 templates arent about FP only. yet i agree that Scheme is a very good
- "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= (11/13) Oct 22 2014 It is available for free online:
- Kapps (6/13) Oct 21 2014 I like D's templates, it's one of the things that makes me like D
- ketmar via Digitalmars-d-learn (13/17) Oct 21 2014 nobody forcec any beginner to write complex templates from the start.
- Kagamin (4/9) Oct 22 2014 That's quite inadequate criticism. If you don't know, what
- ketmar via Digitalmars-d-learn (6/8) Oct 22 2014 On Wed, 22 Oct 2014 07:58:49 +0000
- ketmar via Digitalmars-d-learn (4/5) Oct 21 2014 On Wed, 22 Oct 2014 00:57:59 +0300
- Dejan Lekic (15/20) Oct 22 2014 D is far more complex programming language than Java. I do D
I'm a newbie to programming and have been looking into the D lang as a general purposing language to learn, yet the D overview indicates that java would be a better language to learn for your first programming language. Why? Looks like D is easier than Java...
Oct 16 2014
On 10/16/2014 03:26 PM, RBfromME wrote:I'm a newbie to programming and have been looking into the D lang as a general purposing language to learn, yet the D overview indicates that java would be a better language to learn for your first programming language. Why? Looks like D is easier than Java...Here: http://dlang.org/overview.html "As a first programming language - Basic or Java is more suitable for beginners." I say, just ignore that comment. :) We should open a bug report for that page. I had great fun writing a programming book for complete beginners and found it very easy to use D for that purpose: http://ddili.org/ders/d.en/ Ali
Oct 16 2014
On Thursday, 16 October 2014 at 22:42:21 UTC, Ali Çehreli wrote:On 10/16/2014 03:26 PM, RBfromME wrote:I don't understand. If at least it were C but java? why not D itself?I'm a newbie to programming and have been looking into the Dlang as ageneral purposing language to learn, yet the D overviewindicates thatjava would be a better language to learn for your firstprogramminglanguage. Why? Looks like D is easier than Java...Here: http://dlang.org/overview.html "As a first programming language - Basic or Java is more suitable for beginners." I say, just ignore that comment. :) We should open a bug report for that page. I had great fun writing a programming book for complete beginners and found it very easy to use D for that purpose: http://ddili.org/ders/d.en/ Ali
Oct 16 2014
On Fri, 17 Oct 2014 00:52:14 +0000 MachineCode via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> wrote:I don't understand. If at least it were C but java? why not D=20 itself?C is *awful* as "beginner's language". never ever let people start with C if you don't hate 'em. as for D... current version of D can be used, but with some precautions. we now have excellent book by Ali. (it's great, really! i believe that it must be featured on the front dlang.org page!) but java has alot more books and tutorials. not that D is bad for beginners, it's just has a smaller userbase. and all that things with "classes are reference types and structs are not", "empty array is not empty array but is empty array" and so on D may be confusing a little. it's good to have some CS background to understood that things. just my cent and cent.
Oct 16 2014
On Friday, 17 October 2014 at 01:05:37 UTC, ketmar via Digitalmars-d-learn wrote:On Fri, 17 Oct 2014 00:52:14 +0000 MachineCode via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> wrote:Better, go with FreePascal http://www.freepascal.org/ and discover all that those features that many C advocates spread as being close to the machine and other C only features, aren't exclusive of it. Alongside support for real modules, OO and genericity. Then with a head clean of bad C influences, jump into D. -- PauloI don't understand. If at least it were C but java? why not D itself?C is *awful* as "beginner's language". never ever let people start with C if you don't hate 'em. as for D... current version of D can be used, but with some precautions. we now have excellent book by Ali. (it's great, really! i believe that it must be featured on the front dlang.org page!) but java has alot more books and tutorials. not that D is bad for beginners, it's just has a smaller userbase. and all that things with "classes are reference types and structs are not", "empty array is not empty array but is empty array" and so on D may be confusing a little. it's good to have some CS background to understood that things. just my cent and cent.
Oct 17 2014
On Friday, 17 October 2014 at 08:44:00 UTC, Paulo Pinto wrote:On Friday, 17 October 2014 at 01:05:37 UTC, ketmar via Digitalmars-d-learn wrote:One of the problem when starting out with FPC resides in the fact that's a completely different family of language (Ada, Pascal, Modula vs the C family), syntax and philosophy (for example in the RTL). Another one is that usually people use it in combination with Lazarus and as the RAD concept is no shit, people start building some applications very fastly. Then when they come to another lang. eg D or Cpp they take a big slap in the face. The fact is that Obj. Pascal and Delphi often give a wrong appreciation of its own skills and abilities. You talk about genericity but the genericity in Object Pascal is currently almost inexistant and doesn't provide a good idea of what "template-meta-programming" is. Actually this looks more like a patch to the lang. and some simple things just like casting a generic type or global generic functions simply don't work at all. While D2 has been written with this idea, FPC will never be good with TMP. Even in the commercial version (Delphi XE7) they start to add some kind of patchs eg with a compiler instrasic which is equivalent to D "static if" (which means that the lang. is not designed for that at all).On Fri, 17 Oct 2014 00:52:14 +0000 MachineCode via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> wrote:Better, go with FreePascal http://www.freepascal.org/ and discover all that those features that many C advocates spread as being close to the machine and other C only features, aren't exclusive of it. Alongside support for real modules, OO and genericity. Then with a head clean of bad C influences, jump into D. -- PauloI don't understand. If at least it were C but java? why not D itself?C is *awful* as "beginner's language". never ever let people start with C if you don't hate 'em. as for D... current version of D can be used, but with some precautions. we now have excellent book by Ali. (it's great, really! i believe that it must be featured on the front dlang.org page!) but java has alot more books and tutorials. not that D is bad for beginners, it's just has a smaller userbase. and all that things with "classes are reference types and structs are not", "empty array is not empty array but is empty array" and so on D may be confusing a little. it's good to have some CS background to understood that things. just my cent and cent.
Oct 17 2014
Am 17.10.2014 um 16:14 schrieb Jessica Rauth:On Friday, 17 October 2014 at 08:44:00 UTC, Paulo Pinto wrote:Although I am biased to the Pascal family of languages, this has been done in real world for a couple of decades. When I joined the New University of Lisbon as a student in 1994, I was lucky that the professor heading the programming languages section, had a similar opinion as me in terms of programming languages. The first year students had introduction to programming with P2C/GNU Pascal in the first semester, followed by C++ with gcc in the second semester. There was no C, at all. It was expected that any student compent enough to use C++, would be able to code in straight C if asked to do so. On my last year at the university (1998/9), I one of the teachers giving those lab classes to students. By then, we were using Delphi and Visual C++ instead. The students didn't had much problems switching languages. They got to learn that using pointers doesn't need to be the dragon that C makes out to be. That there was a way to deal with strings, arrays and reference parameters without impact in the whole application. The most curious got to learn how to disable bounds checking. They learned how to write modular applications without having to prefix all their identifiers. They also learned that C wasn't the only way to touch the machine at all levels.On Friday, 17 October 2014 at 01:05:37 UTC, ketmar via Digitalmars-d-learn wrote:One of the problem when starting out with FPC resides in the fact that's a completely different family of language (Ada, Pascal, Modula vs the C family), syntax and philosophy (for example in the RTL). Another one is that usually people use it in combination with Lazarus and as the RAD concept is no shit, people start building some applications very fastly. Then when they come to another lang. eg D or Cpp they take a big slap in the face. The fact is that Obj. Pascal and Delphi often give a wrong appreciation of its own skills and abilities.On Fri, 17 Oct 2014 00:52:14 +0000 MachineCode via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> wrote:Better, go with FreePascal http://www.freepascal.org/ and discover all that those features that many C advocates spread as being close to the machine and other C only features, aren't exclusive of it. Alongside support for real modules, OO and genericity. Then with a head clean of bad C influences, jump into D. -- PauloI don't understand. If at least it were C but java? why not D itself?C is *awful* as "beginner's language". never ever let people start with C if you don't hate 'em. as for D... current version of D can be used, but with some precautions. we now have excellent book by Ali. (it's great, really! i believe that it must be featured on the front dlang.org page!) but java has alot more books and tutorials. not that D is bad for beginners, it's just has a smaller userbase. and all that things with "classes are reference types and structs are not", "empty array is not empty array but is empty array" and so on D may be confusing a little. it's good to have some CS background to understood that things. just my cent and cent.You talk about genericity but the genericity in Object Pascal is currently almost inexistant and doesn't provide a good idea of what "template-meta-programming" is. Actually this looks more like a patch to the lang. and some simple things just like casting a generic type or global generic functions simply don't work at all. While D2 has been written with this idea, FPC will never be good with TMP. Even in the commercial version (Delphi XE7) they start to add some kind of patchs eg with a compiler instrasic which is equivalent to D "static if" (which means that the lang. is not designed for that at all).I just referenced it, because I saw it mentioned a few times in Delphi documentation, but never came to use it. Since 2000 that I don't do anything in the Pascal world of languages, besides collecting Oberon related stuff. -- Paulo
Oct 17 2014
On Friday, 17 October 2014 at 08:44:00 UTC, Paulo Pinto wrote:On Friday, 17 October 2014 at 01:05:37 UTC, ketmar via Digitalmars-d-learn wrote:Don't tell him that - he may discover Freepascal/Lazarus is the holy grail of GUI programming and may never try D... ;-) -=mike=-On Fri, 17 Oct 2014 00:52:14 +0000 MachineCode via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> wrote:Better, go with FreePascal http://www.freepascal.org/ and discover all that those features that many C advocates spread as being close to the machine and other C only features, aren't exclusive of it. Alongside support for real modules, OO and genericity. Then with a head clean of bad C influences, jump into D. -- PauloI don't understand. If at least it were C but java? why not D itself?C is *awful* as "beginner's language". never ever let people start with C if you don't hate 'em. as for D... current version of D can be used, but with some precautions. we now have excellent book by Ali. (it's great, really! i believe that it must be featured on the front dlang.org page!) but java has alot more books and tutorials. not that D is bad for beginners, it's just has a smaller userbase. and all that things with "classes are reference types and structs are not", "empty array is not empty array but is empty array" and so on D may be confusing a little. it's good to have some CS background to understood that things. just my cent and cent.
Oct 18 2014
On 17/10/14 03:05, ketmar via Digitalmars-d-learn wrote:On Fri, 17 Oct 2014 00:52:14 +0000 MachineCode via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> wrote:What you say here applies, I guess, to many other points. I applaud Ali for writing a tutorial like his but... Check it (just the first pages is enough) for literally the dozens of notions one must know and master for being able to understand, not only the features of D introduced, but even the tutorial itself. If I am not a programmer, and one who knows other static langs, and better of the mainstream procedural paradigm, if not D itself, then I do not understand more than few isolated words here and there. We are blind to the huge pile of concepts we know, I guess, because we know them, thus take them for granted... dI don't understand. If at least it were C but java? why not D itself?C is *awful* as "beginner's language". never ever let people start with C if you don't hate 'em. as for D... current version of D can be used, but with some precautions. we now have excellent book by Ali. (it's great, really! i believe that it must be featured on the front dlang.org page!) but java has alot more books and tutorials. not that D is bad for beginners, it's just has a smaller userbase. and all that things with "classes are reference types and structs are not", "empty array is not empty array but is empty array" and so on D may be confusing a little. it's good to have some CS background to understood that things.
Oct 17 2014
On Fri, 17 Oct 2014 10:10:09 +0200 spir via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> wrote:What you say here applies, I guess, to many other points. I applaud Ali for writing a tutorial like his but... Check it (just the first pages is enough) for literally the dozens of notions one must know and master for being able to understand, not only the features of D introduced, but even the tutorial itself. If I am not a programmer, and one who knows other static langs, and better of the mainstream procedural paradigm, if not D itself, then I do not understand more than few isolated words here and there. We are blind to the huge pile of concepts we know, I guess, because we know them, thus take them for granted...that's why i'm sure that basic programming must be teached in school. hey, the whole our civilization will collapse without computers! computer programming is the literacy of the new age.
Oct 17 2014
On Friday, 17 October 2014 at 13:59:03 UTC, ketmar via Digitalmars-d-learn wrote:On Fri, 17 Oct 2014 10:10:09 +0200 spir via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> wrote:computer programming is the literacy of the new age.Let's say, computer knowledge. There are also database administrators, package maintainers, network administrators etc. Knowledge of all is useful, not only the knowledge of programmers. Add builders, engineers, loggers (those with axes) and medics to the list...
Oct 17 2014
On Fri, 17 Oct 2014 14:33:57 +0000 eles via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> wrote:On Friday, 17 October 2014 at 13:59:03 UTC, ketmar via=20 Digitalmars-d-learn wrote:yes, you are right. that was what i mean: not only programming, but "understanding of how computers works and how to control them".On Fri, 17 Oct 2014 10:10:09 +0200 spir via Digitalmars-d-learn=20 <digitalmars-d-learn puremagic.com> wrote:=20computer programming is the literacy of the new age.=20 Let's say, computer knowledge.
Oct 17 2014
On Friday, 17 October 2014 at 14:38:39 UTC, ketmar via Digitalmars-d-learn wrote:On Fri, 17 Oct 2014 14:33:57 +0000 eles via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> wrote:But then people won't trust them bloody machines an inch anymore! :-)On Friday, 17 October 2014 at 13:59:03 UTC, ketmar via Digitalmars-d-learn wrote:yes, you are right. that was what i mean: not only programming, but "understanding of how computers works and how to control them".On Fri, 17 Oct 2014 10:10:09 +0200 spir via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> wrote:computer programming is the literacy of the new age.Let's say, computer knowledge.
Oct 17 2014
On Fri, 17 Oct 2014 15:40:24 +0000 Chris via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> wrote:But then people won't trust them bloody machines an inch anymore!=20 :-)most people believe that technology is magic. yes, maybe it's too cruel to ruin their illusions...
Oct 17 2014
. D is pristine clean and immensely powerful. . D is arguably the actual state-of-the-art programming language. . Ali's book is a gem. Clear, concise and complete. http://ddili.org/ders/d.en/ . D is the best investment you can make for your career, right now. . D has Java beans for breakfast. :D your choice, my two cents.
Oct 17 2014
On Friday, 17 October 2014 at 13:59:03 UTC, ketmar via Digitalmars-d-learn wrote:that's why i'm sure that basic programming must be teached in school. hey, the whole our civilization will collapse without computers! computer programming is the literacy of the new age.This is nonsense and I see it repeated all the time, with code.org and other efforts. Do you know how to fix your car, washing machine, or refrigerator? No, yet your life would likely collapse far faster without those. You hire somebody to do the job if any of those mechanical systems breaks. Similarly, most people hire programmers to do the software work they don't want to do. I will agree that basic computer literacy is important, ie people should know their way around a computer or tablet, how to open and turn off apps, mouse or touch your way around the UI, etc. But beyond that it's a matter of interest: some people like Walter want to work on their car or computer, but most people don't. On Friday, 17 October 2014 at 14:00:43 UTC, ketmar via Digitalmars-d-learn wrote:yet Scheme will teach how to write functional code. it's a valuable knowledge for D programmer.My first programming language was Scheme in my freshman year of college (I wasn't one of those kids programming since middle school). Scheme was fine for the time, though the scads of parentheses were annoying, but I think we can do better decades later. D would work fine if it's presented at a level appropriate to a beginner, ie not assuming they know anything about programming to begin with.
Oct 17 2014
On Fri, 17 Oct 2014 20:40:37 +0000 Joakim via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> wrote:On Friday, 17 October 2014 at 13:59:03 UTC, ketmar via=20 Digitalmars-d-learn wrote:i have no car, i know how to fix my wahing machine, i know how to fix my refrigerator.that's why i'm sure that basic programming must be teached in=20 school. hey, the whole our civilization will collapse without computers! computer programming is the literacy of the new age.=20 This is nonsense and I see it repeated all the time, with=20 code.org and other efforts. Do you know how to fix your car,=20 washing machine, or refrigerator?No, yet your life would likely collapse far faster without those.my life is not the whole human civilization.You hire somebody to do the=20 job if any of those mechanical systems breaks. Similarly, most=20 people hire programmers to do the software work they don't want=20 to do....and pretty sure that computers are magical devices. oh, how many times i've seen people doing tedious repetetive work for hours, that kind of work that can be done in seconds by the simple script. actually, that's why people so love their pads: "no-brain-required". not only that, but "no easy way to made it do what i want" too. i still can't understant that kind of attitude.I will agree that basic computer literacy is important, ie people=20 should know their way around a computer or tablet, how to open=20 and turn off apps, mouse or touch your way around the UI, etc. =20 But beyond that it's a matter of interest: some people like=20 Walter want to work on their car or computer, but most people=20 don't.inability to write a simple script to automate some task is not different from inability to write some words on a piece of paper. yet i see how the argument "oh, well, i hire someone to write that for me" fits here.
Oct 17 2014
On Friday, 17 October 2014 at 21:20:29 UTC, ketmar via Digitalmars-d-learn wrote:On Fri, 17 Oct 2014 20:40:37 +0000 Joakim via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> wrote:You do realize that most people are clueless about how to fix those also, right? Would you require that how to fix all that mechanical stuff be taught in schools too? Kids would never leave school if they had to learn all the stuff everybody says they should be forced to learn. ;)This is nonsense and I see it repeated all the time, with code.org and other efforts. Do you know how to fix your car, washing machine, or refrigerator?i have no car, i know how to fix my wahing machine, i know how to fix my refrigerator.Yet, civilization is made up of people like you, who would all miss those mechanical systems far more than computers.No, yet your life would likely collapse far faster without those.my life is not the whole human civilization.They should use tools like Automator instead, no programming needed: http://en.wikipedia.org/wiki/Automator_(software)You hire somebody to do the job if any of those mechanical systems breaks. Similarly, most people hire programmers to do the software work they don't want to do....and pretty sure that computers are magical devices. oh, how many times i've seen people doing tedious repetetive work for hours, that kind of work that can be done in seconds by the simple script.actually, that's why people so love their pads: "no-brain-required". not only that, but "no easy way to made it do what i want" too. i still can't understant that kind of attitude.Tablets are optimized for basic usage, not saving files and document editing and whatever else you might want to do on a PC. Most people just need a basic appliance that isn't going to catch viruses or require registry hacks.It is completely different, because there are tools like Automator to help you automate your workflow without needing to write anything. If you need to communicate something on paper- well, nobody uses paper these days so let's say in text ;) - that's more basic and fundamental.I will agree that basic computer literacy is important, ie people should know their way around a computer or tablet, how to open and turn off apps, mouse or touch your way around the UI, etc. But beyond that it's a matter of interest: some people like Walter want to work on their car or computer, but most people don't.inability to write a simple script to automate some task is not different from inability to write some words on a piece of paper.yet i see how the argument "oh, well, i hire someone to write that for me" fits here.For most people, that is a better route, particularly if they don't need to modify the script as they go and just need it written once.
Oct 17 2014
On Fri, 17 Oct 2014 23:31:45 +0000 Joakim via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> wrote:You do realize that most people are clueless about how to fix=20 those also, right?most people are stupid.Would you require that how to fix all that=20 mechanical stuff be taught in schools too?but it is! or at least it was. it's all simple physics, you know. not a rocket science.Kids would never=20 leave school if they had to learn all the stuff everybody says=20 they should be forced to learn. ;)nobody should be *forced* to learn: it's pointless. yet kids are very curious, and they can be taught *alot* of things if they think that they are "just playing". make it interesting, and you'll be amazed how much kids can learn almost without problems.Yet, civilization is made up of people like you, who would all=20 miss those mechanical systems far more than computers.it's a huge difference between "i miss my washing machine" and "all our communication and data processing systems are foobared".They should use tools like Automator instead, no programming=20 needed: =20 http://en.wikipedia.org/wiki/Automator_(software)i wasn't talking about sorting out file mess. i was talking about tabular data processing, for example, with some logics and calculations that can't be done automatically without programming.Tablets are optimized for basic usagewhat is "basic usage"? i really don't know what tablets are for. what i can do with it? watching movie? listening music? reading book? yes, tablets can do this... badly. what else? i can listen music with my N900, and it fits in my pocket. movies? on tablet screen? no, thanks. books? "electronic books" are better. tablets are like XML: bad for everything.Most people just need a basic appliance that isn't going to catch=20 viruses or require registry hacks.give 'em wooden board with painting. it's great!It is completely different, because there are tools like=20 Automator to help you automate your workflow without needing to=20 write anything.oh, please. i can do batch renaming with wildcards, and for any task that is more complex than that there *is* a need to write logic. scripts. "graphic programming" is a dead end. people drop icons in favor of alphabet 'cause alphabet is just better.If you need to communicate something on paper-=20 well, nobody uses paper these daysi wish that the goverment of my country knows about that. and banking. somehow they still insist to have everything written on paper.For most people, that is a better route, particularly if they=20 don't need to modify the script as they go and just need it=20 written once.so instead of spending ten minutes to write the script they'll spend a day searching for someone to hire and pay him money. great. thanks to such people we have "don't put your pet into microwave"-like instructions. and that instructions are pointless 'cause such people never reads any instructions anyway. most people are stupid, but that's not what scares me alot. what really scare me is that most people *love* to be stupid and fight for the right to be stupid with passion. p.s. me too. i can't force myself to take English courses for five damned years!
Oct 17 2014
On Saturday, 18 October 2014 at 00:06:10 UTC, ketmar via Digitalmars-d-learn wrote:On Fri, 17 Oct 2014 23:31:45 +0000 Joakim via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> wrote:No disagreement there, but even the smart ones can only learn so much.You do realize that most people are clueless about how to fix those also, right?most people are stupid.Many people do not learn simple physics in school, and even if they did, wouldn't necessarily be able to figure out how to fix a specific mechanical system like a washing machine from the general physical principles.Would you require that how to fix all that mechanical stuff be taught in schools too?but it is! or at least it was. it's all simple physics, you know. not a rocket science.Yeah, we agree if you truly mean making most of what they learn optional, not just "fun" but still required. Most of the stuff we force on kids today, like multiplication tables, how to divide numbers by hand, or memorizing historical dates, is utterly useless.Kids would never leave school if they had to learn all the stuff everybody says they should be forced to learn. ;)nobody should be *forced* to learn: it's pointless. yet kids are very curious, and they can be taught *alot* of things if they think that they are "just playing". make it interesting, and you'll be amazed how much kids can learn almost without problems.Yet, I bet you they'll want that washing machine working far more than the internet.Yet, civilization is made up of people like you, who would all miss those mechanical systems far more than computers.it's a huge difference between "i miss my washing machine" and "all our communication and data processing systems are foobared".Isn't that what people use Excel macros for? There are specialized tools for the job, that are more limited than full programming languages but easier to use for the average person.They should use tools like Automator instead, no programming needed: http://en.wikipedia.org/wiki/Automator_(software)i wasn't talking about sorting out file mess. i was talking about tabular data processing, for example, with some logics and calculations that can't be done automatically without programming.All of the above, anything you'd use a portable computer for that doesn't require much typing and would benefit from a larger screen than your smartphone. I wouldn't say they do it all badly: it's the most portable "TV" you could ever have, if you use it to watch video. And you're not limited to the junk on the idiot box, you can download any video from the web and watch on the go. Most websites benefit from a larger screen also.Tablets are optimized for basic usagewhat is "basic usage"? i really don't know what tablets are for. what i can do with it? watching movie? listening music? reading book? yes, tablets can do this... badly. what else?i can listen music with my N900, and it fits in my pocket. movies? on tablet screen? no, thanks. books? "electronic books" are better.I've watched parts of movies on my 4.7" smartphone screen, which happens to have the best display I've ever used. Tablets are even better for video. I don't read books anymore, but with their high-res displays up to 200-300 ppi these days, reading text is very nice on tablets too.tablets are like XML: bad for everything.Now that's just low, you can't compare anything to the utter junk that is XML. :)It's a little better than that. ;)Most people just need a basic appliance that isn't going to catch viruses or require registry hacks.give 'em wooden board with painting. it's great!Actually, the progression went the other way, people dropped text UIs for graphical UIs. :) I'm not saying _you_ need to leave the terminal, but for most people GUI tools like Automator are enough.It is completely different, because there are tools like Automator to help you automate your workflow without needing to write anything.oh, please. i can do batch renaming with wildcards, and for any task that is more complex than that there *is* a need to write logic. scripts. "graphic programming" is a dead end. people drop icons in favor of alphabet 'cause alphabet is just better.Well, the government is the most backwards part of any country.If you need to communicate something on paper- well, nobody uses paper these daysi wish that the goverment of my country knows about that. and banking. somehow they still insist to have everything written on paper.I wouldn't be so quick to call it "stupid" as much as learning takes effort and you only have so much time and effort to learn so much stuff. Better to focus on the stuff that interests you and leave the programming to others, at least for most people. On Saturday, 18 October 2014 at 00:11:18 UTC, ketmar via Digitalmars-d-learn wrote:For most people, that is a better route, particularly if they don't need to modify the script as they go and just need it written once.so instead of spending ten minutes to write the script they'll spend a day searching for someone to hire and pay him money. great. thanks to such people we have "don't put your pet into microwave"-like instructions. and that instructions are pointless 'cause such people never reads any instructions anyway. most people are stupid, but that's not what scares me alot. what really scare me is that most people *love* to be stupid and fight for the right to be stupid with passion. p.s. me too. i can't force myself to take English courses for five damned years!On Sat, 18 Oct 2014 03:05:58 +0300 ketmar via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> wrote: p.p.s. just in case: i'm not talking about personalities here, sorry if i was offencive.Nothing offensive about what you wrote.
Oct 18 2014
On Sat, 18 Oct 2014 19:42:50 +0000 Joakim via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> wrote:that's why we should teach kids alot of things while their minds are "clear" and ready to absorb alot of knowledge. and, of course, we must teach them how to *use* that knowledge.most people are stupid.No disagreement there, but even the smart ones can only learn so=20 much.Many people do not learn simple physics in school, and even if=20 they did, wouldn't necessarily be able to figure out how to fix a=20 specific mechanical system like a washing machine from the=20 general physical principles.yes, figuring this out without manuals will be hard. but learning physics (proper learning of *anything* for that matter) will give 'em understanding of base principles (mechanics, electricity, etc) and the ability to extract information from books. it's enough for simple fixes that doesn't require to produce hi-tech parts.Yeah, we agree if you truly mean making most of what they learn=20 optional, not just "fun" but still required. Most of the stuff=20 we force on kids today, like multiplication tables, how to divide=20 numbers by hand, or memorizing historical dates, is utterly=20 useless.ah, i hated that so-called "history lessons" where i was forced to remebmer that in year i don't care about somebody who i don't care about did something i equally don't care about. ;-) yes, i'm sure that we should teach kids how to do things, not just making 'em remember that 4*8 is 32. tell 'em what multiplication is and then play games with them, games which involves using of multiplication. this way kids will learn how to use multiplication. no need to remember any tables. or let 'em build a simple robot and program it to do some funny things. it's exciting and they will learn many things about mechanics, electricity, programming... let 'em play a role of factory manager, for example, and they will develop a good understanding of how economics works. and so on.most people can't see a whole picture. it's bad. we must teach kids to understand how different things are interconnected too.Yet, I bet you they'll want that washing machine working far more=20 than the internet.Yet, civilization is made up of people like you, who would all=20 miss those mechanical systems far more than computers.it's a huge difference between "i miss my washing machine" and=20 "all our communication and data processing systems are foobared".Isn't that what people use Excel macros for?aren't writing excel macros a programming?There are=20 specialized tools for the job, that are more limited than full=20 programming languages but easier to use for the average person.i never meant that all people should learn "full programming languages". they have to know how to write algorithms, but not necessary what "pointer" is or what is the difference between manual memory management and garbage collecting. yet if i'll show 'em simple recursive fibonacci function, they must be able to understand it. hey, it's lambda calculus, and lambda calculus is so simple, that even 7-year kid can understand it! i checked that, kids are really able to understand it. ;-)All of the above, anything you'd use a portable computer for that=20 doesn't require much typing and would benefit from a larger=20 screen than your smartphone.instagram and social networks. ;-) two of the most useless things on the planet.And you're not limited to the junk on the=20 idiot box, you can download any video from the web and watch on=20 the go.and can't easily mark and categorize that until someone wrote "web-service" for it. 'cause for doing it locally i need... ah, to write some scripts. and i have no keyboard (no, that on-screen crap may be good for tweeting, but it's generally unusable). i.e. tablets *are* idiot boxes, just with fancy pictures from over the world.I don't read books anymoreeven technical ones? ;-)but with=20 their high-res displays up to 200-300 ppi these days, reading=20 text is very nice on tablets too.i prefer to use some specialised device to reading text. it's smaller, it was made especially for reading texts and it can last alot longer without recharging. i mean that tablets can do all that things, but specialised devices are just better. and if i know that i'll have to spend some time waithing for something, i'll take my player and "ebook" with me. or subnotebook -- hey, it has real keyboard!ah, you are right. tablets sometimes can be useful. ;-)tablets are like XML: bad for everything.Now that's just low, you can't compare anything to the utter junk=20 that is XML. :)Actually, the progression went the other way, people dropped text=20 UIs for graphical UIs. :)that's 'cause they never used good UIs and we have no truly component environments. Oberon system was great even with it's TUI, and it was really exciting with it's gadgets UI. i'm still missing my Oberon system. by the way, if D will develop good runtime reflection (which is required for precise and moving GCs anyway), we can resurrect Oberon gadgets with it. fast compiler + runtime reflection + dynamic modules =3D=3D excellent component system.I'm not saying _you_ need to leave the=20 terminal, but for most people GUI tools like Automator are enough.terminal is not the best thing too. ;-) and i have nothing against automator-like tools when they allow flexible scripting when user needs it. but anyway such tools just trying to achieve what component system has out of the box. ;-) there is no such thing as "application" in true component system (nor even a "file" for that matter). user can combine and glue components in any way he wants, building anything he wants. e-mail reader? ok, create new document, drop treeview component into it, drop html viewer into it, drop "e-mail data source" into it, connect 'em and voila! you have a simple working e-mail reader! want some filtering? drop proxy data source into document, connect it to e-mail data source, reconnect tree view to proxy, write some filters and... voila, you have e-mail reader with filtering. save this document and voila: you have "e-mail reading application"! the magic works both ways: take complex e-mail reading application, replace some components, add another components -- and you have e-mail reading application which is customized to your tasks. open two documents -- and you'll have two automatically synchronized readers. have you ever seen BlackBox Component Builder? it's written in Component Pascal, but the basic principles are language-independent. i'm dreaming about BCB with D as base language...I wouldn't be so quick to call it "stupid" as much as learning=20 takes effort and you only have so much time and effort to learn=20 so much stuff. Better to focus on the stuff that interests you=20 and leave the programming to others, at least for most people.simple scripting *is* programming! ;-) i'm not talking about "everybody must know how to write kernel module" here, as i mentioned above. it's more like writing in general: most people can write, but we still have professional writers. yet almost anyone can write a page of text describing what he did last evening. this will not be a bestseller ;-), of couse, but there's no need to hire a professional writer for such task.
Oct 18 2014
On Saturday, 18 October 2014 at 20:50:42 UTC, ketmar via Digitalmars-d-learn wrote:On Sat, 18 Oct 2014 19:42:50 +0000 Joakim via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> wrote:So much of what's taught today is so worthless that I'm skeptical of anyone claiming kids should be taught "a lot," as if you know what that is. And given our long history of barely being able to teach any knowledge, with almost no success in getting people to "use" it for something original, that seems like a dead end too. Better to just let people take their own path and find what works best for them.that's why we should teach kids alot of things while their minds are "clear" and ready to absorb alot of knowledge. and, of course, we must teach them how to *use* that knowledge.most people are stupid.No disagreement there, but even the smart ones can only learn so much.I disagree, as there is a large gap of knowledge between the base principles and the complex systems we build on top. How many people would be able to diagnose and force reallocation of bad sectors in their hard disk if hit with that problem, given the basics of how hard disks work? I actually ran into this recently and found little info about it, meaning not many people do it.Many people do not learn simple physics in school, and even if they did, wouldn't necessarily be able to figure out how to fix a specific mechanical system like a washing machine from the general physical principles.yes, figuring this out without manuals will be hard. but learning physics (proper learning of *anything* for that matter) will give 'em understanding of base principles (mechanics, electricity, etc) and the ability to extract information from books. it's enough for simple fixes that doesn't require to produce hi-tech parts.We agree that practical application is a better way to motivate learning than absorbing theory from a book first, at least for most students. But some kids are just not going to enjoy those multiplication games or robot building and I'd say it's better for them to choose something else to pursue, rather than forcing them to pick up multiplication when it's a completely useless skill, now that everybody carries around a calculator with them in their phone these days.Yeah, we agree if you truly mean making most of what they learn optional, not just "fun" but still required. Most of the stuff we force on kids today, like multiplication tables, how to divide numbers by hand, or memorizing historical dates, is utterly useless.ah, i hated that so-called "history lessons" where i was forced to remebmer that in year i don't care about somebody who i don't care about did something i equally don't care about. ;-) yes, i'm sure that we should teach kids how to do things, not just making 'em remember that 4*8 is 32. tell 'em what multiplication is and then play games with them, games which involves using of multiplication. this way kids will learn how to use multiplication. no need to remember any tables. or let 'em build a simple robot and program it to do some funny things. it's exciting and they will learn many things about mechanics, electricity, programming... let 'em play a role of factory manager, for example, and they will develop a good understanding of how economics works. and so on.At this point, _I_ can't see your "whole picture." :) I made a simple point, that building and fixing washing machines or software is something most people don't want to do. Saying they should learn those things anyway doesn't make sense.most people can't see a whole picture. it's bad. we must teach kids to understand how different things are interconnected too.Yet, I bet you they'll want that washing machine working far more than the internet.Yet, civilization is made up of people like you, who would all miss those mechanical systems far more than computers.it's a huge difference between "i miss my washing machine" and "all our communication and data processing systems are foobared".My understanding is that you can write simple mathematical formulas, which is as far as most probably go, even though it may also allow iteration and other programming constructs. My point, that I made below, is that people who need some of the power of programming without the training can use cruder tools like these most of the time.Isn't that what people use Excel macros for?aren't writing excel macros a programming?I wasn't going that far either, but I'd say even simple python is useless for most people. As for lambda calculus, I don't know what that is: I'm not a CS major. :) But even if some kids can understand it, that doesn't mean most should learn simple programming.There are specialized tools for the job, that are more limited than full programming languages but easier to use for the average person.i never meant that all people should learn "full programming languages". they have to know how to write algorithms, but not necessary what "pointer" is or what is the difference between manual memory management and garbage collecting. yet if i'll show 'em simple recursive fibonacci function, they must be able to understand it. hey, it's lambda calculus, and lambda calculus is so simple, that even 7-year kid can understand it! i checked that, kids are really able to understand it. ;-)I'm not on any of those, but I have occasionally seen them on other people's phones. People love checking each other out and those apps give them what they want. Just because you and I don't do it doesn't mean many people don't find it worthwhile. It's like TV, most of it is junk but there's some good stuff on there too.All of the above, anything you'd use a portable computer for that doesn't require much typing and would benefit from a larger screen than your smartphone.instagram and social networks. ;-) two of the most useless things on the planet.I believe that's what people use facebook and youtube "likes" and tags for. You may consider anything without a full keyboard an idiot box, but there's a lot of stuff on the web that's much better than anything on TV, but doesn't require text input.And you're not limited to the junk on the idiot box, you can download any video from the web and watch on the go.and can't easily mark and categorize that until someone wrote "web-service" for it. 'cause for doing it locally i need... ah, to write some scripts. and i have no keyboard (no, that on-screen crap may be good for tweeting, but it's generally unusable). i.e. tablets *are* idiot boxes, just with fancy pictures from over the world.I think the only technical book I've read in the last decade is Andrei's TDPL, which I bought in print and got about halfway through. I've probably read bits and pieces of maybe five other non-technical books here and there in the same timespan, which were all given to me as gifts. I've never read an ebook, yet I read extensively online. Books are an outdated form, now that we have blogs.I don't read books anymoreeven technical ones? ;-)I've never understood the appeal of e-ink devices, but my 10", 1.3 lb tablet is fatiguing to hold for extended periods of time, constantly reloads webpages because it vacates their memory, and only lasts for about 5-6 hours of uninterrupted use, so I don't use it as much as I thought I would when I got it almost two years ago. I'm hopeful that a smaller, newer tablet will fix most of those issues, whenever I pick up my next one.but with their high-res displays up to 200-300 ppi these days, reading text is very nice on tablets too.i prefer to use some specialised device to reading text. it's smaller, it was made especially for reading texts and it can last alot longer without recharging.i mean that tablets can do all that things, but specialised devices are just better. and if i know that i'll have to spend some time waithing for something, i'll take my player and "ebook" with me. or subnotebook -- hey, it has real keyboard!It sounds like you have different priorities than others. That's great, you can carry around all those devices and they can carry around their tablets. :)I don't know much about Oberon, but that gadgets UI sounds like it's still a GUI.Actually, the progression went the other way, people dropped text UIs for graphical UIs. :)that's 'cause they never used good UIs and we have no truly component environments. Oberon system was great even with it's TUI, and it was really exciting with it's gadgets UI. i'm still missing my Oberon system.by the way, if D will develop good runtime reflection (which is required for precise and moving GCs anyway), we can resurrect Oberon gadgets with it. fast compiler + runtime reflection + dynamic modules == excellent component system.I actually agree with you that some sort of component system like that is likely the future, even if it's only ultimately used to make developers' lives easier and largely unconfigured by users themselves, though I haven't looked much into the complex historical reasons why it hasn't happened yet.I'm not saying _you_ need to leave the terminal, but for most people GUI tools like Automator are enough.terminal is not the best thing too. ;-) and i have nothing against automator-like tools when they allow flexible scripting when user needs it. but anyway such tools just trying to achieve what component system has out of the box. ;-) there is no such thing as "application" in true component system (nor even a "file" for that matter). user can combine and glue components in any way he wants, building anything he wants. e-mail reader? ok, create new document, drop treeview component into it, drop html viewer into it, drop "e-mail data source" into it, connect 'em and voila! you have a simple working e-mail reader! want some filtering? drop proxy data source into document, connect it to e-mail data source, reconnect tree view to proxy, write some filters and... voila, you have e-mail reader with filtering. save this document and voila: you have "e-mail reading application"! the magic works both ways: take complex e-mail reading application, replace some components, add another components -- and you have e-mail reading application which is customized to your tasks. open two documents -- and you'll have two automatically synchronized readers.have you ever seen BlackBox Component Builder? it's written in Component Pascal, but the basic principles are language-independent. i'm dreaming about BCB with D as base language...No, never heard of it, sounds interesting.I'd say simple scripting is more like learning how to use basic Photoshop, a niche skill that most people don't need and don't want to learn, so they pay the few people who enjoy doing it instead.I wouldn't be so quick to call it "stupid" as much as learning takes effort and you only have so much time and effort to learn so much stuff. Better to focus on the stuff that interests you and leave the programming to others, at least for most people.simple scripting *is* programming! ;-) i'm not talking about "everybody must know how to write kernel module" here, as i mentioned above. it's more like writing in general: most people can write, but we still have professional writers. yet almost anyone can write a page of text describing what he did last evening. this will not be a bestseller ;-), of couse, but there's no need to hire a professional writer for such task.
Oct 18 2014
On Sat, 18 Oct 2014 23:38:35 +0000 Joakim via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> wrote: don't you think that we are going in circles now? not that i'm tired of this conversation, but i see that we get each other's POVs, and have no more arguments to convince each other. ;-) i respect your opinions but just don't agree with them. ;-) besides, it's increasingly hard for me to answer, 'cause my English writing skill is awful. i can understand you but can't clearly express myself.i believe that blog posts and textbooks compliments each other. i prefer textbook for learning new language, for example, and read blogs to learn some interesting/funny/hidden features.I think the only technical book I've read in the last decade is=20 Andrei's TDPL, which I bought in print and got about halfway=20 through. I've probably read bits and pieces of maybe five other=20 non-technical books here and there in the same timespan, which=20 were all given to me as gifts. I've never read an ebook, yet I=20 read extensively online. Books are an outdated form, now that we=20 have blogs.I don't read books anymoreeven technical ones? ;-)I don't know much about Oberon, but that gadgets UI sounds like=20 it's still a GUI.sure, it's GUI, but with some "consolish" pieces dropped in. you can connect components and you can write some textual commands/scripts to modify component behavior. best from both worlds! ;-)I actually agree with you that some sort of component system like=20 that is likely the future, even if it's only ultimately used to=20 make developers' lives easier and largely unconfigured by users=20 themselvesit's simple enough for users to modify. changing layouts by dragging components, embedding components into components and so on. this things are mostly "visual" and easy. people love to customize their working environment if it's easy enough. ;-)though I haven't looked much into the complex=20 historical reasons why it hasn't happened yet.'cause so-called "software industry" is not ready to die yet. ;-) with proper component system there will be no much sense in selling "applications". and selling components is much harder: how many people will buy "e-mail data source component"? it's not even visual! and selling "e-mail reader" is worthless, 'cause people will deconstruct it to basic parts and build their own "application", and will not buy "shiny new version with improved interface". they will not even buy the "full package" if they only need one part of it, like "faster e-mail data source component". so the only way to keep "software bussines" (as we know it) running is turning component system back to non-component one. take, for example, COM technology (which is badly done, but still usable component system). how much software uses COM to decouple application in reusable parts? even microsoft realised that this will be disaster and turned COM to "advancing scripting interface" instead of truly component system.try it, it's fun and free! ;-) you'll see "component programming system" in action. it's not "component OS", but it's great programming environment nevertheless. D is almost capable of powering such system. if only i had more free time and motivation... creating something BCB-like can be that "killer app" D needs.have you ever seen BlackBox Component Builder? it's written in Component Pascal, but the basic principles are=20 language-independent. i'm dreaming about BCB with D as base language...No, never heard of it, sounds interesting.
Oct 18 2014
On Sunday, 19 October 2014 at 04:55:55 UTC, ketmar via Digitalmars-d-learn wrote:On Sat, 18 Oct 2014 23:38:35 +0000 Joakim via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> wrote: don't you think that we are going in circles now? not that i'm tired of this conversation, but i see that we get each other's POVs, and have no more arguments to convince each other. ;-)I guess, when does anyone ever convince anyone else online? People usually just throw their arguments at each other and leave holding the same opinion. ;)That may be true now, but soon it will be just blogs.i believe that blog posts and textbooks compliments each other. i prefer textbook for learning new language, for example, and read blogs to learn some interesting/funny/hidden features.I think the only technical book I've read in the last decade is Andrei's TDPL, which I bought in print and got about halfway through. I've probably read bits and pieces of maybe five other non-technical books here and there in the same timespan, which were all given to me as gifts. I've never read an ebook, yet I read extensively online. Books are an outdated form, now that we have blogs.I don't read books anymoreeven technical ones? ;-)The desktop UI paradigm needs to be completely redone, from the ground up. Current desktop GUIs are too limiting and the terminal is powerful but antiquated. The problem is how best to combine the two, since one is focused on keyboard input whether the other mostly uses trackpad/mouse. I suspect voice will have to be the new input to this new desktop GUI.I don't know much about Oberon, but that gadgets UI sounds like it's still a GUI.sure, it's GUI, but with some "consolish" pieces dropped in. you can connect components and you can write some textual commands/scripts to modify component behavior. best from both worlds! ;-)I agree that customization should be made really easy, but what percentage of users ever configure their settings themselves now? I bet it's a negligible percentage. What I think is more likely is that they will pay someone to configure the component desktop you envision to suit them, but that person won't necessarily be a developer, more likely a power user.I actually agree with you that some sort of component system like that is likely the future, even if it's only ultimately used to make developers' lives easier and largely unconfigured by users themselvesit's simple enough for users to modify. changing layouts by dragging components, embedding components into components and so on. this things are mostly "visual" and easy. people love to customize their working environment if it's easy enough. ;-)I agree that the software business likely just didn't do it right, but I doubt that's all of it. Any component system isn't going to be as fast and efficient as a bespoke system. Maybe the hardware just wasn't fast enough for that lack of efficiency, but with how powerful hardware has gotten these days, maybe we're finally ready for it.though I haven't looked much into the complex historical reasons why it hasn't happened yet.'cause so-called "software industry" is not ready to die yet. ;-) with proper component system there will be no much sense in selling "applications". and selling components is much harder: how many people will buy "e-mail data source component"? it's not even visual! and selling "e-mail reader" is worthless, 'cause people will deconstruct it to basic parts and build their own "application", and will not buy "shiny new version with improved interface". they will not even buy the "full package" if they only need one part of it, like "faster e-mail data source component". so the only way to keep "software bussines" (as we know it) running is turning component system back to non-component one. take, for example, COM technology (which is badly done, but still usable component system). how much software uses COM to decouple application in reusable parts? even microsoft realised that this will be disaster and turned COM to "advancing scripting interface" instead of truly component system.I've loaded up a chapter from this pdf book about it: http://www.cslab.pepperdine.edu/warford/ComputingFundamentals/ I'll take a look.try it, it's fun and free! ;-) you'll see "component programming system" in action. it's not "component OS", but it's great programming environment nevertheless. D is almost capable of powering such system. if only i had more free time and motivation... creating something BCB-like can be that "killer app" D needs.have you ever seen BlackBox Component Builder? it's written in Component Pascal, but the basic principles are language-independent. i'm dreaming about BCB with D as base language...No, never heard of it, sounds interesting.
Oct 19 2014
On Sun, 19 Oct 2014 23:34:17 +0000 Joakim via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> wrote:The desktop UI paradigm needs to be completely redone, from the=20 ground up. Current desktop GUIs are too limiting and the=20 terminal is powerful but antiquated. The problem is how best to=20 combine the two, since one is focused on keyboard input whether=20 the other mostly uses trackpad/mouse. I suspect voice will have=20 to be the new input to this new desktop GUI.i'm not sure that voice is the way. but i'm very bad as a prophet. ;-)I agree that customization should be made really easy, but what=20 percentage of users ever configure their settings themselves now?=20 I bet it's a negligible percentage. What I think is more likely=20 is that they will pay someone to configure the component desktop=20 you envision to suit them, but that person won't necessarily be a=20 developer, more likely a power user.that's 'cause people need to click some obscure checkboxes to change something. yet if they can just drag a color from color picker to paint element, move some parts of UI around, change size and all this without digging in "preferences" windows (which aren't very appealing to average Joe), they doing this. it's all about making simple things simple and complex things possible. ;-) when people see how easy they can change some visual aspects, they may eventually try to go deeper. add a button with a simple text command. add another button with two commands. and so on. ;-) sure, most people will just recolor their UIs and change some layout. but that's important too, 'cause small things can have a big impact.I agree that the software business likely just didn't do it=20 right, but I doubt that's all of it.ah, sure, that's not the *only* reason. everything has more than one reason. ;-)Any component system isn't=20 going to be as fast and efficient as a bespoke system.it's a common misconception based on wrong attempts to build component systems. having one uniform language (thus dropping attempts to build "one-size-fits-all" system) makes component system very fast. at least not slower than any other system with dynamic libraries, and sometimes even faster. Oberon system was really fast, even with it's very poor compiler. the key is the solid language foundation, and D can give us this.I've loaded up a chapter from this pdf book about it: http://www.cslab.pepperdine.edu/warford/ComputingFundamentals/ I'll take a look.you can download BCB itself, it has nice dox and full sources. and it works under wine.
Oct 19 2014
On Sat, 18 Oct 2014 03:05:58 +0300 ketmar via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> wrote: p.p.s. just in case: i'm not talking about personalities here, sorry if i was offencive.
Oct 17 2014
On Friday, 17 October 2014 at 23:31:46 UTC, Joakim wrote:Tablets are optimized for basic usage, not saving files and document editing and whatever else you might want to do on a PC. Most people just need a basic appliance that isn't going to catch viruses or require registry hacks.LOL http://wmpoweruser.com/infected-android-phones-now-outnumber-infected-pcs-on-mobile-networks/
Oct 20 2014
On Monday, 20 October 2014 at 13:52:10 UTC, Kagamin wrote:On Friday, 17 October 2014 at 23:31:46 UTC, Joakim wrote:Are you laughing because of this? :) "Android devices accounted for 60% of total mobile network infections, and 40% of mobile malware originated from Windows laptops connected to a phone or connected directly through a mobile USB stick or W-Fi hub. Infections on Windows Phone, iPhone and BlackBerry devices made up less than 1% 'Android smartphones are the easiest malware target,' said Kevin McNamee, security architect and director of Alcatel-Lucent’s Kindsight Security Labs, but noted 'but Windows laptops are still the favourite of hard core professional cybercriminals.'” Note my original reference to not being able to save files and the very low rate of infection on the iPhone. Android is a little different because it's so open, just like Windows, and I bet most of those infected Android devices were rooted or old. If you do the math, there are a lot more Android devices than Windows laptops, so the fact that there are almost as many infected Windows laptops means the infection rate of Windows is much higher.Tablets are optimized for basic usage, not saving files and document editing and whatever else you might want to do on a PC. Most people just need a basic appliance that isn't going to catch viruses or require registry hacks.LOL http://wmpoweruser.com/infected-android-phones-now-outnumber-infected-pcs-on-mobile-networks/
Oct 20 2014
On Mon, Oct 20, 2014 at 2:40 PM, Joakim via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> wrote:On Monday, 20 October 2014 at 13:52:10 UTC, Kagamin wrote:If you do the math, there are a lot more Android devices than Windows laptops, so the fact that there are almost as many infected Windows laptops means the infection rate of Windows is much higher.All the more, those numbers reflecting infection rates on mobile networks.
Oct 20 2014
On Thursday, 16 October 2014 at 22:26:51 UTC, RBfromME wrote:I'm a newbie to programming and have been looking into the D lang as a general purposing language to learn, yet the D overview indicates that java would be a better language to learn for your first programming language. Why? Looks like D is easier than Java...The Overview page is ancient and needs to be rewritten. The included example sieve program reflects this. It's almost C (you'd only need to make minor changes to 4 of the lines to make it build with gcc). I'd agree that C probably isn't a good first language. The overview also suggests learning BASIC first which also shows just how old the Overview is (where do you even get a BASIC compiler these days?). There are easier languages but modern, idiomatic D is perfectly approachable for beginners in my opinion. https://issues.dlang.org/show_bug.cgi?id=13624
Oct 16 2014
On Thu, 16 Oct 2014 22:43:11 +0000 Brad Anderson via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> wrote:also shows just how old the Overview is (where do you even get a=20 BASIC compiler these days?).voila: http://www.freebasic.net/ ;-)
Oct 16 2014
RBfromME:I'm a newbie to programming and have been looking into the D lang as a general purposing language to learn, yet the D overview indicates that java would be a better language to learn for your first programming language. Why? Looks like D is easier than Java...Python is probably a better first language than Java. D is a little too much complex as first language. Bye, bearophile
Oct 16 2014
On Friday, 17 October 2014 at 01:14:34 UTC, bearophile wrote:Python is probably a better first language than Java. D is a little too much complex as first language.statically typed language as your first language has advantages, but all are good first languages: easy to find tutorials, easy to find educational example code, easy to find answers to typical beginner issues on Stackoverflow… I personally think Logo, Processing and Scheme would be more fun as learning tools, but they are throw-away languages. E.g. http://turtleacademy.com/programs/en http://www.processing.org/ and many more online programming sites.
Oct 16 2014
While d can be complex, there's nothing preventing you from starting out simple and not using all features at first. I don't understand why it's not suitable for a beginner if you use this approach... 2014-10-17 6:51 GMT+02:00 via Digitalmars-d-learn < digitalmars-d-learn puremagic.com>:On Friday, 17 October 2014 at 01:14:34 UTC, bearophile wrote:lPython is probably a better first language than Java. D is a little too much complex as first language.statically typed language as your first language has advantages, but all are good first languages: easy to find tutorials, easy to find educationa=example code, easy to find answers to typical beginner issues on Stackoverflow=E2=80=A6 I personally think Logo, Processing and Scheme would be more fun as learning tools, but they are throw-away languages. E.g. http://turtleacademy.com/programs/en http://www.processing.org/ and many more online programming sites.
Oct 16 2014
On Friday, 17 October 2014 at 05:38:51 UTC, maarten van damme via Digitalmars-d-learn wrote:While d can be complex, there's nothing preventing you from starting out simple and not using all features at first. I don't understand why it's not suitable for a beginner if you use this approach...Anything that keeps you motivated is suitable, but for a beginner the goal should not be to learn a language, but to learn programming principles and learn how to write clean programs. Using a more uniform language that is suitable for teaching is better, and provides more educational resources. Where would you go to find examples of clean programming in D/C++? For the first few weeks getting instant feedback from a REPL is gratifying and being constrained by a functional/recursive paradigm is good. Getting instant visual feedback is motivating and makes it easy to see where you go wrong. Nice for the first steps if you are a visual person.
Oct 17 2014
On 17/10/14 07:38, maarten van damme via Digitalmars-d-learn wrote:While d can be complex, there's nothing preventing you from starting out simple and not using all features at first. I don't understand why it's not suitable for a beginner if you use this approach...For some reasons, in my view: A beginner has to learn programming in addition to a first lang. A beginner has to learn a first lang in addition to programming. We learn languages by understanding valid, meaningful input, ie here reading code. All static langs introduce tons of complication only due to their "staticity". D is rather big & complex, in the field of static langs. Most code will use more than a theoretical minimal set of features. And this minimal set is far more in size, difficulty, complication than in langs partly designed for ease of learning (Lua, Python, Scheme...). Even plain C is far more difficult than say, Lua. d
Oct 17 2014
Ola Fosheim Grøstad:The importance of the IDE for the first language is controversial. I think it's not so important.and using a statically typed language as your first language has advantages,While no one has determined scientifically that you are right, I too believe that static typing has some advantages for a first language. I think there are no perfect first languages. Bye, bearophile
Oct 17 2014
On Friday, 17 October 2014 at 08:33:46 UTC, bearophile wrote:Perhaps it depends on the person and the language, but I would think autocompletion hints and getting visual cues of syntax errors important. Error messages with line numbers can be overwhelming, hard to understand and discourage experimentation. Newbies often make many syntactical errors. Even when doing interactive stuff in python I find ipython a lot more convenient than regular python. Insepecting a class by hitting tab is very useful for learning I think.The importance of the IDE for the first language is controversial. I think it's not so important.That's probably right, because motivation is the most important factor. So even matlab can be a nice environment for learning if it fits your interests. In general I think Dart could turn into a nice language for beginners. It is dynamic and "a bit forgiving", but has static checking and you can see the results right in your browser (and debug it). But I think the IDE should be mandatory…and using a statically typed language as your first language has advantages,While no one has determined scientifically that you are right, I too believe that static typing has some advantages for a first language. I think there are no perfect first languages.
Oct 17 2014
On Fri, 17 Oct 2014 04:51:14 +0000 via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> wrote:I personally think Logo, Processing and Scheme would be more fun=20 as learning tools, but they are throw-away languages.yet Scheme will teach how to write functional code. it's a valuable knowledge for D programmer.
Oct 17 2014
On Friday, 17 October 2014 at 14:00:43 UTC, ketmar via Digitalmars-d-learn wrote:yet Scheme will teach how to write functional code. it's a valuable knowledge for D programmer.I think spending a few days with Scheme is valuable for all programmers. By being a minimal language you get down to the essence of functional programming by reading some tutorials on Scheme and playing with the interpreter. (and you can more easily configure some open source apps who use guile/elisp/scheme, so it has some practical value…)
Oct 17 2014
On Thursday, 16 October 2014 at 22:26:51 UTC, RBfromME wrote:I'm a newbie to programming and have been looking into the D lang as a general purposing language to learn, yet the D overview indicates that java would be a better language to learn for your first programming language. Why? Looks like D is easier than Java...I agree with Ali. Give it a try, you don't need to use all the fancy features of D, features you only come to appreciate after years of programming (especially in other languages like Java, that are very restrictive). In D you can start out with very simple code like import std.stdio; void main() { auto i = 5; auto j = 2; auto sum = 5 + 2; writeln(sum); // prints 7 to console } In Java you already need a lot of boiler plate code for this (a class for main(), i.e. you have to understand object-orientation to begin with!). If D is too difficult for you, because the tutorials etc. assume that you already know how to program (to a certain extent), you can either ask people on the forum or try a "simpler" language for which there are very basic tutorials, and come back to D later, once you've grasped enough of the concepts that are common to all programming languages. An "instantly rewarding" language is Lua (lua.org). It was designed for people with no programming background, yet it is very fast and powerful (it's used in gaming a lot). It has some advanced features too (e.g. meta-programming), if you _choose_ to use them (it's not a "scripting for dummies" language). Personally, I wouldn't recommend an IDE for beginners. It can be confusing at times and even worse, it may spoil you as regards coding habits. The best way to get familiar with a language or coding in general is to use a simple text editor, type everything yourself (at the beginning), and soon it will become second nature to you. It's like learning an instrument, on the one hand you have to practise scales and patterns, and on the other hand you have to learn concepts (chords, chord progressions, harmonies). In order to be able to grasp the concepts, your brain shouldn't be concerned with what your fingers are doing, the fingers should move automatically (so that you can listen to yourself).
Oct 17 2014
On Friday, 17 October 2014 at 09:31:45 UTC, Chris wrote:An "instantly rewarding" language is Lua (lua.org).In basic you can easily get simple graphics too, it's really interesting for learning, because your program can perform simple visual tasks: http://www.freebasic.net/wiki/wikka.php?wakka=TutGettingStartedQBPersonally, I wouldn't recommend an IDE for beginners.In IDE you press F5 and see the program running.
Oct 17 2014
On Fri, 17 Oct 2014 13:13:36 +0000 Kagamin via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> wrote:In IDE you press F5 and see the program running.with REPL you typing code, pressing "enter" and see the code running.
Oct 17 2014
On Thursday, 16 October 2014 at 22:26:51 UTC, RBfromME wrote:I'm a newbie to programming and have been looking into the D lang as a general purposing language to learn, yet the D overview indicates that java would be a better language to learn for your first programming language. Why? Looks like D is easier than Java...The answer is that teaching material for a very beginner is limited at the time of that writing we didn't have Ali's book. http://ddili.org/ders/d.en/ Feel free to give it a try and let the community know things you struggled with.
Oct 17 2014
On Thursday, 16 October 2014 at 22:26:51 UTC, RBfromME wrote:I'm a newbie to programming and have been looking into the D lang as a general purposing language to learn, yet the D overview indicates that java would be a better language to learn for your first programming language. Why? Looks like D is easier than Java...Thank you for taking the time to respond to my inquiry. I've been reading up on different languages for some time now. I have experimented with python some and have created a few minor scripts. It's fairly easy to get going with the basics , but i don't find the basics any easier to learn than D's. The biggest issue i personal find in getting deeper into a language is the docs and examples. The python examples, beyond the basics usually get write into OO so you find your self trying to figure out OO while trying to sift through the examples. Makes it a little harder to get going and figure out the available libraries while trying to figure OO at the same time. The second thing that would help a beginner move forward is the documentation on the libraries. I see D has standard libraries along with third parties. And I believe , if i read it properly, D can us C libraries. It would be helpful to see examples on how to use C libs with D since D is still new and its library packages is still small. Summing it up, I personally think the hardest part in learning to use a specific language is the docs and and examples because they all throw you write into OO and you spend more time trying to figure out OO instead of how to use the standard lib or third party lib to get a basic task done. Thank you Ali Cehreli for taking the time to write the D tutorial. It's appreciated by people like me.
Oct 17 2014
On 18/10/2014 3:00 p.m., RBfromME wrote:On Thursday, 16 October 2014 at 22:26:51 UTC, RBfromME wrote:If you want to see shared libraries with a c interface bound to D DerelictOrg is a great place to look[0].I'm a newbie to programming and have been looking into the D lang as a general purposing language to learn, yet the D overview indicates that java would be a better language to learn for your first programming language. Why? Looks like D is easier than Java...Thank you for taking the time to respond to my inquiry. I've been reading up on different languages for some time now. I have experimented with python some and have created a few minor scripts. It's fairly easy to get going with the basics , but i don't find the basics any easier to learn than D's. The biggest issue i personal find in getting deeper into a language is the docs and examples. The python examples, beyond the basics usually get write into OO so you find your self trying to figure out OO while trying to sift through the examples. Makes it a little harder to get going and figure out the available libraries while trying to figure OO at the same time. The second thing that would help a beginner move forward is the documentation on the libraries. I see D has standard libraries along with third parties. And I believe , if i read it properly, D can us C libraries. It would be helpful to see examples on how to use C libs with D since D is still new and its library packages is still small.Summing it up, I personally think the hardest part in learning to use a specific language is the docs and and examples because they all throw you write into OO and you spend more time trying to figure out OO instead of how to use the standard lib or third party lib to get a basic task done.I and I'm sure others, will be happy to talk with you about any concepts and ideas that you have trouble understanding. Just let us know.Thank you Ali Cehreli for taking the time to write the D tutorial. It's appreciated by people like me.[0] https://github.com/DerelictOrg
Oct 17 2014
On Saturday, 18 October 2014 at 02:00:42 UTC, RBfromME wrote:but i don't find the basics any easier to learn than D's. The biggest issue i personal find in getting deeper into a language is the docs and examples. The python examples, beyond the basics usually get write into OO so you find your self trying to figure out OO while trying to sift through the examples. Makes it a little harder to get going and figure out the available libraries while trying to figure OO at the same time.If you find D more fun, then use D, but OO is little more than representing aspects of real physical objects in the computer: If you want to write a program about cars you could group properties such as weight, top-speed and build-year and call that Vehicle, then add number of wheels and motorsize and call it Car or some other properties and call it Boat. Add a function print() to display all the info to each class Vehicle, Car and Boat. Then you can create a list of vehicles that store different properties for different types of vehicles while being able to treat all cars and boats the same when printing them. That's basically it. Nothing magic. The most important aspect of learning how to program is what universities tend to call "datastructures and algorithms". The basics is probably just 2-4 weeks. If you already know Python a little bit you could try to use educational resources for Python and translate it into D, e.g.: http://interactivepython.org/courselib/static/pythonds/index.html The nice thing about Python that it is very close to what is called "pseudo code", basically a shorthand used when sketching a program.Summing it up, I personally think the hardest part in learning to use a specific language is the docs and and examples because they all throw you write into OO and you spend more time trying to figure out OO instead of how to use the standard lib or third party lib to get a basic task done.You don't need to learn more OO than I wrote above, and perhaps not even that. What you need to learn to be productive in any imperative language is: 1. What an aggregate (of values) is, they are often called "record", "struct" or "class" and how to create them. 2. Arrays and the provided operations on them (can be in language or libraries) 3. How to create links between aggregates (called "references" or "pointers") Then pick up an online course or book on data structures and algorithms. Introductory books and courses teach roughly the same stuff, so pick anyone you like. Understanding libraries and their documentation becomes much easier when you know the basic terminology about data structures and algorithms. One of the most entertaining and useful courses in computer science.
Oct 18 2014
On Thursday, 16 October 2014 at 22:26:51 UTC, RBfromME wrote:I'm a newbie to programming and have been looking into the D lang as a general purposing language to learn, yet the D overview indicates that java would be a better language to learn for your first programming language. Why? Looks like D is easier than Java...I have taught programming and programming language for several years, last 4 in University. In Belarus we have traditionally program that starts with C as subset of C++ (or even pure C), high-qualified programmers, who absolve such program. Thus we have a proof, that even C can be first language. But in my opinion C is not the simplest way in programming for beginners. D is perfectly suite education purpose (in place of C and C++ of our belarusian program), because it has C-like syntax (Pascal hasn't), it is multi-paradigmal and has procedural-structural start point of programing for years, D also has more convenient and clearer syntax than C and C++. The main objection vs. dlang is that D is unpopular and probably you can't find job offer in this language. But this objection is weak, if D is your first language, because IT-student learn much more than one language during education, and D is very good start and view point for professional languages. And many habits that will be learned in D (such is unittesting, contract programing and many others) will serve well in future for language without intrinsic support of these features. RBfromME, I have interest to teach D as first language and also to teach foreigner. So if you want, I can tutor you through e-mail and github totally free. harald_zealot tut.by
Oct 18 2014
On Thursday, 16 October 2014 at 22:26:51 UTC, RBfromME wrote:I'm a newbie to programming and have been looking into the D lang as a general purposing language to learn, yet the D overview indicates that java would be a better language to learn for your first programming language. Why? Looks like D is easier than Java...1) They're simpler, no template magic, not as low level, etc. 2) Having an excellent IDE is very nice for starting out, seeing errors right as you type them, seeing all the methods and how to call them, having the documentation right there in your IDE, and not having to worry about whether what you just wrote is something that the IDE's parser can't handle or is actually invalid code. 3) Being significantly more popular is in general a boon, more tutorials are available (though D has some nice resources like Ali's book), and you're more likely to find a solution to a problem through Google as more people have come across it. 4) Having to deal with any compiler bugs would be very frustrating when starting to learn programming. D still has plenty, even if they're much less noticeable now. Trying to figure out why something doesn't work only to realize it's a compiler bug is frustrating. 5) Having a drag-and-drop GUI designer is very nice. D is still difficult to use for GUIs, and when starting it's really nice to see something significant on the screen right away. 6) You probably won't use most of D's features when you're just learning, so much of D's advantages are gone. D is an awesome language, but I would not recommend it for someone completely new to programming. Once you get the hang of programming, D is an excellent language, until then something simpler, more popular, and more supported, would be better.
Oct 21 2014
On Tue, 21 Oct 2014 09:01:32 +0000 Kapps via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> wrote:no template magicthat's very bad. it's time to stop making people think that templates are inevitably arcane.
Oct 21 2014
On Tuesday, 21 October 2014 at 09:14:08 UTC, ketmar via Digitalmars-d-learn wrote:On Tue, 21 Oct 2014 09:01:32 +0000 Kapps via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> wrote:People think templates are magic, due to their skillset. I see that all the time in the enterprise, when we get people on projects that would already have issues using something like Clipper/VB back in the day. -- paulono template magicthat's very bad. it's time to stop making people think that templates are inevitably arcane.
Oct 21 2014
On Tue, 21 Oct 2014 11:20:42 +0000 Paulo Pinto via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> wrote:People think templates are magic, due to their skillset.and other people keep pointing at languages without templates and metaprogramming as "good for learing". it's closed circle.
Oct 21 2014
On Tuesday, 21 October 2014 at 11:43:56 UTC, ketmar via Digitalmars-d-learn wrote:and other people keep pointing at languages without templates and metaprogramming as "good for learing". it's closed circle.The problem with template-programming in XSLT/C++/D is that if you want to learn functional programming you are better off using a good functional language.
Oct 21 2014
On Tue, 21 Oct 2014 11:51:16 +0000 via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> wrote:The problem with template-programming in XSLT/C++/D is that if=20 you want to learn functional programming you are better off using=20 a good functional language.templates arent about FP only. yet i agree that Scheme is a very good starting point, SICP rocks.
Oct 21 2014
On Tuesday, 21 October 2014 at 12:19:43 UTC, ketmar via Digitalmars-d-learn wrote:templates arent about FP only. yet i agree that Scheme is a very good starting point, SICP rocks.It is available for free online: http://mitpress.mit.edu/sicp/ Scheme is good for teaching because it is a minimalistic language, so you quickly learn the semantic model which is more hidden in Haskell. But I really enjoyed this one: http://tryhaskell.org/ D should have a similar intro when the current quirks have been ironed out.
Oct 22 2014
On Tuesday, 21 October 2014 at 09:14:08 UTC, ketmar via Digitalmars-d-learn wrote:On Tue, 21 Oct 2014 09:01:32 +0000 Kapps via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> wrote:I like D's templates, it's one of the things that makes me like D limits templates to generic types, like List<int>, and for a beginner I think that's an easier way to handle things.no template magicthat's very bad. it's time to stop making people think that templates are inevitably arcane.
Oct 21 2014
On Tue, 21 Oct 2014 21:48:14 +0000 Kapps via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> wrote:I like D's templates, it's one of the things that makes me like D=20 limits templates to generic types, like List<int>, and for a=20 beginner I think that's an easier way to handle things.nobody forcec any beginner to write complex templates from the start. not even use them: alot of things can be done without phobos, as excercises. yet i think that it's good to start with the language that has powerful templates and metaprogramming, so more and more advanced features can be gently introduced when there is time. we can't (ok, we can, but this is very-very hard) teach people how to use metaprogramming properly if their language of choice aren't supporting metaprogramming at all, for example. start from using templates as generics, then add some sugar, some type "generics", 'cause there is no other things there.
Oct 21 2014
On Tuesday, 21 October 2014 at 21:58:09 UTC, ketmar via Digitalmars-d-learn wrote:start from using templates as generics, then add some sugar, some type after "generics", 'cause there is no other things there.That's quite inadequate criticism. If you don't know, what features generics have, you can't criticize them.
Oct 22 2014
On Wed, 22 Oct 2014 07:58:49 +0000 Kagamin via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> wrote:That's quite inadequate criticism. If you don't know, what=20 features generics have, you can't criticize them.i'm don't saying that "generics are bad", i'm saying that D has alot more anyway with it's CTFE magic. and generics aren't metaprogramming tool. but my memory can be weak, so feel free to correct me.
Oct 22 2014
On Wed, 22 Oct 2014 00:57:59 +0300 ketmar via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> wrote:consitionsi don't even know what this word means. honestly.
Oct 21 2014
On Thursday, 16 October 2014 at 22:26:51 UTC, RBfromME wrote:I'm a newbie to programming and have been looking into the D lang as a general purposing language to learn, yet the D overview indicates that java would be a better language to learn for your first programming language. Why? Looks like D is easier than Java...D is far more complex programming language than Java. I do D programming for over decade, and Java for ~9 years (before I was a C++ programmmer). Just take a look at number of types you have in D, storage classes, pointers, modules (that will soon come to Java too), etc... D generics are superior to Java. However, Java generics are superasy. Java is designed to be an easy programming language, D is designed to be pragmatic. If people new to programming were about to start with D as the first language, I suggest them to start with an easy subset of it, and I humbly believe that subset will look very, very similar to Java. PS. this is not Java advocacy here, I am just trying to be fair and realistic. I just love D but if I said D is as easy as Java, that would be a lie.
Oct 22 2014