|
"One ring to rule them all, ..." etc. http://en.wikipedia.org/wiki/One_ring
There are many ways into programming, IT, computer science, software engineering.
And the most important aspect is, and always will be: the ability to think.
Starting off with the idea that there is one particular tool that will guide your thoughts is doomed to teach you very little.
It's like teaching you to write by showing you how to use a pencil, or a fountain pen, or a typewriter, or MS Word.
Robby
On Sat, Dec 1, 2012 at 1:55 PM, Coda Highland <chighland@gmail.com> wrote:
> Pascal was designed as a language for teaching structured programming,
> but IT ended up being used for professional software engineering.
>
> I don't know if you can necessarily say it's SUITABLE for the task ;)
> but it definitely saw a lot of use.
>
> /s/ Adam
C was designed for writing systems programs - operating systems and
compilers. It took about ten years for the compilers to get good
enough for it to be competitive with FORTRAN for number crunching.
>
> On Sat, Dec 1, 2012 at 1:49 PM, M. Edward (Ed) Borasky <znmeb@znmeb.net> wrote:
>> This "debate" has been going on since there *were* programming
>> languages. Logo, BASIC and now Scratch were specifically designed to
>> get youngsters into programming. *None* of the "kids' programming
>> languages" was *ever* suitable for professional software engineering.
>> Python, Lua, Visual Basic and most other languages are.
>>
>> On Sat, Dec 1, 2012 at 1:43 PM, Pierre Chapuis <catwell@archlinux.us> wrote:
>>> I think you cannot teach CS correctly with just one language.
>>> If I had to teach it I would choose Python as a first language
>>> though. The reason is that Python is more structured than Lua,
>>> and also more close to pseudocode. It is a perfect way to teach
>>> algorithms, and you can get up to speed and do real things
>>> quickly with it.
>>>
>>> Then I would teach C, because it is still the best way to
>>> learn data structures. I do not think can understand CS if you
>>> do not understand memory management, pointers... Also, Unix.
>>>
>>> Then I would teach LISP, the Maxwell Equations of Software.
>>> C makes you understand what you do from the point of view of
>>> the computer, LISP makes you understand what you do in
>>> theory and understand the power of abstraction.
>>>
>>> Finally, I may teach something like Haskell. Programmers should
>>> understand typing, the equivalent of homogeneity in math.
>>>
>>> In my opinion Lua is not best learned in a class. It is best
>>> learned by reading the manual. Especially in a printed version.
>>> When you have it into your hands you think "Is that really all
>>> there is to it?" Yes, it is all there is to it. Lua is a jewel,
>>> a wonder of software design and you choose to use it when you
>>> realize that. But you cannot realize it if if you have not used
>>> other languages first.
>>>
>>> That being said there is something I think Lua is the perfect
>>> language to teach: Object Orientation. Because to use OO in Lua
>>> you implement it, and you understand it is not something so
>>> complicated. You also understand objects can be seen in two
>>> ways: structures with related methods (the x:foo() style) and
>>> closures (the x.foo() style).
>>>
>>> --
>>> Pierre Chapuis
>>>
>>>
>>
>>
>>
>> --
>> Twitter: http://twitter.com/znmeb; Computational Journalism Publishers
>> Workbench: http://znmeb.github.com/Computational-Journalism-Publishers-Workbench/
>>
>> How the Hell can the lion sleep with all those people singing "A weem
>> oh way!" at the top of their lungs?
>>
>
--
Twitter: http://twitter.com/znmeb; Computational Journalism Publishers
Workbench: http://znmeb.github.com/Computational-Journalism-Publishers-Workbench/
How the Hell can the lion sleep with all those people singing "A weem
oh way!" at the top of their lungs?