Page 3 of 4 FirstFirst 1234 LastLast
Results 21 to 30 of 33

Thread: Gumberoo - Making a new learning language intepreter using FPC

  1. #21
    Didn't had enough time to read this whole wall of text, but so far seems very nice. I laughed a bit since I haven't visited the forums for a few weeks and I began writing my own interpreter... and now bah! someone else is doing it too. Keep up your work and good luck.

  2. #22
    Junior Member
    Join Date
    Mar 2012
    Location
    London, UK
    Posts
    27
    On the idea of teaching programming basics in a fun way, have you looked at http://www.spacechemthegame.com/education

    Also see http://zachtronicsindustries.com/Spa...0Educators.pdf for the PDF in depth education view.

    It teaches some basic and also rather advanced fundamentals in a very novel way.

    Regards,

    Ian.

  3. #23
    Tossed together a website for the project.



    http://www.gumberoo.org



    I also now own the .com and have it set up as a redirect.

    yes, it's very gaudy... are the fonts too big?
    "The only thing you can learn from Dreamweaver is how not to build a website, and the only thing you can learn from jquery is how not to learn Javascript."
    -- Dan Schulz to me via PM August 2008 - To blazes with resting in peace my friend, you give 'em hell.

  4. #24
    Junior Member
    Join Date
    Mar 2012
    Location
    London, UK
    Posts
    27
    Quote Originally Posted by deathshadow View Post
    yes, it's very gaudy... are the fonts too big?
    I wouldn't say so deathshadow. It immediately said 'Kiddie Fun' to me when I looked at it.

    I would use the words Bright & Lively, not the word Gaudy in describing it :-)

  5. #25
    When I've worked for an outsourced project using VB script in Lotus Notes, I promised myself never to return on that path again.

    Even original Starcraft's scripts (if you ever used its Map editor) had script facilities that were based on conditions and were edited pseudo-visually.

    Seriously, in these technological days when many kids have access to PC and popular tools like Microsoft Office, Open Office and LibreOffice, among many other visual-driven software, when did you see a kid hacking with low-level instruction-level code in Notepad? It is not only difficult to read and understand, but also requires significant effort to achieve anything but basic functionality.

    I really applaud the effort to help with kids education, but when making a programming tool for kids, I'd suggest using more visual and high level diagram approach, perhaps something based on top of UML, instead of assembly-like instruction driven language. Something where you take visual elements, put them together to create a working module, similar to how in LEGO you can construct objects, machines and even electronic/mechanical parts. For example, this video was posted somewhere here on PGD; something analogical to this example could be made for programming too.

  6. #26
    Junior Member
    Join Date
    Mar 2012
    Location
    London, UK
    Posts
    27
    When I first met computers barely out of School / 2 years National Service it was a Sinclair ZX81. I played with it for 2 or 3 days learning Basic in the process. And then I had the fortune to run into an older programmer who gave me excellent advice. Stop learning any high level language and learn to program Z80 Assembler and if I did that I would, he told me, really understand how a computer worked. After that he said, I would find any computer language easy to learn, easy to understand, easy to recognise it's strengths and weaknesses, and easy to milk every ounce of performance out it.

    He was right.

    I have employed many programmers from all avenues, some while still studying, some from Technical Colleges, some from Universities. All able (in varying degrees naturally) in particular languages of study. But the rarity of finding that occasional programmer who understood hardware, understood memory, understood optimisation and knew and leveraged the strengths of a few computer languages. Without exception, that programmer had learned Assembler.

    As a result I think yes, there is a place for the clickey visual drag and drop abstractioned educational system for budding programmers. They may well one day progress to the dizzy heights of Microsoft Access programmers. They will never become a Nicklaus Wirth, a Dennis Ritchie, a Ken Thompson, a Brian Kernighan, a Linux Torvalds or a John Carmack. You get the drift :-)

    Let them get down and dirty with the assembly-like instruction driven language right at the start, and I believe you will give them a solid foundation to build on. (PS: And the interactive mode ability promotes learning iterative experimentation - a major plus in my mind)

    Quote from the original post: So... good idea, crazy idea, who cares? Any ideas/suggestions welcome... well -- apart from "oh just write a book about python" or "why don't you make a UML implementation", in which case bugger off!

  7. #27
    PGD Staff / News Reporter phibermon's Avatar
    Join Date
    Sep 2009
    Location
    England
    Posts
    360
    I'm going to agree with igmac. Learning any form of machine code before you learn any other form of programming gives you an understanding that many programmers lack. It shows you the 'why' of higher level languages with which the 'how' becomes far easier.
    rats live on no evil star

  8. #28
    Computer science is something hard to understand without the right fundation. Indeed, you need to go from the basics. But, what are the basics? Someone can argue that you need to understand data flow, others can say you need to know about data structures, maybe some logic too.

    Just having another programming language is not enough, if you ask me. We already have many, start with our beloved Pascal, it was conceived as a learning language. Then you can put Logo, Lisp, or even Basic on the list.

    ASM is powerfull, but not good for someone who wants to learn the basics. Neither C is an option if you are learning.

    From my experience, I can tell that younger programmers avoid anything that seems extremely complicated. They like easier things, like visual programming. Unfortunately many of them learn popular and easy languages, business oriented. At least, this is the common way here in my country. New programmers learn Visual Basic or VB.NET and some SQL.

    What I found disturbing, is the lack of hacking (in the good sense of wanting to know more and experimenting new stuff). They see computers as a black boxes with an OS where you double click an icon and start a program. There's nothing under the OS hood, that motivated the need for understanding, to pursuit the never ending quest for knowledge. They are something we can call key strokers, dumb as rocks, repeating the same patterns they learn, without knowing or understanding why it works or not. They barely know about algorithms and see them as arcane formulaes, wrote by some obscure wizard, who's name is lost in the night of times.

    In my opinion, if you want to start something great like teaching good foundations for new programmers, bring them that motivation in the first place, inspire them. Then teach them some "magic" about programming science, also teach them to set reachable goals and teamwork.

  9. #29
    Quote Originally Posted by pitfiend View Post
    What I found disturbing, is the lack of hacking (in the good sense of wanting to know more and experimenting new stuff). They see computers as a black boxes with an OS where you double click an icon and start a program. There's nothing under the OS hood, that motivated the need for understanding, to pursuit the never ending quest for knowledge. They are something we can call key strokers, dumb as rocks, repeating the same patterns they learn, without knowing or understanding why it works or not. They barely know about algorithms and see them as arcane formulaes, wrote by some obscure wizard, who's name is lost in the night of times.
    QFT. There isn't better way to explain it as you have. I also find it particularly disturbing that new "development trends" focus on simply finding some combination that solves the problem without understanding the solution.

    For some reason this has become a popular approach in education sector where little effort is applied to teach students to understand how the world works (starting from basic sciences such as math and physics, then computer hardware and only then computer software and development), instead they are typically taught about what is thought to be "popular" such as Java for programming and some Adobe products for drawing; the rest is focused on business side. What you get are students who know how to count money (which they won't have), limited if any programming skills in Java, web development using Front Page and graphics design in Illustrator. This "professional" profile fits 80% of popular short-term jobs that are low paid and have tight competition to get into.

    Quote Originally Posted by pitfiend View Post
    In my opinion, if you want to start something great like teaching good foundations for new programmers, bring them that motivation in the first place, inspire them. Then teach them some "magic" about programming science, also teach them to set reachable goals and teamwork.
    I agree that the motivation is the most important factor so new developers need to have passion about learning how stuff works and love to figure out what's "behind the scenes".

    Although, having said the above, I don't share the opinion that you need to learn assembly first. This could be a typical scenario many years ago and how many of us learned, but today with mobile devices there are cases where you could have no access to assembly and/or machine code at all. However, the passion is what's important and this is why I respect Deathshadow for doing this project. It is a pity that there are very few new projects like this lately - previously we had a lot of new development tools, libraries and frameworks coming out but now only few die hards are left.

  10. #30
    Quote Originally Posted by pitfiend View Post
    They see computers as a black boxes with an OS where you double click an icon and start a program.
    This was kinda inevitable IMHO, the same things happened a few decades ago with... cars. Back then every "hacker" was a mechanic, being able to disassemble a moby or a car engine, tweak it, etc. These day you just glance the surface, and most of the car mechanics only know how to replace spare parts, change oil or tyres.

    Computers are just being commoditized, like cars, planes, electricity, tap water, phone, etc. And a myriad of things of our everyday life that used to be hacker territory in their prime.

    As computers became more complex and standardized, one just couldn't grasp or match industrially-made stuff. There used to be a time when you could assemble a decent 8 or 16 bit machine from scratch, write its OS, and have it being technologically competitive or better than off-the-shelf products. Heck you could even design your own silicon and your own 4 or 8 bits CPU from the transistors up if you were motivated enough.

    For modern hardware or software, you can at best only scratch the surface or learn specific techniques, and these days people are using tools built upon many layers of other tools. Even ASM isn't the simple environment it was, you could know not just all the opcodes but also the common binary forms for a Z80 CPU f.i., while merely knowing all the instructions that exists in x86-64 (even without AVX and other extensions) is already a challenge.

    So IMHO, it was kinda inevitable that computers were to become black boxes.

    Not knowing algorithms and data-structures is more disturbing, but hardware is fast enough that most of the developers can get away with any crappy algorithms throughout most of their programming life, and fall-back on experts for the few cases where that's enough (just like you'll call the car mechanic, the plumber, etc. from time to time).

Page 3 of 4 FirstFirst 1234 LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •