On Feb 5, 6:33 am, "Dmitry A. Soshnikov" <[email protected]> wrote: > On 05.02.2011 13:29, mcot wrote:
> > The thing is, if a new programmer is involved into our profession on > some _exact level of abstraction_, he has complete rights not even > _think_ about in abstractions of _previous level_. > > For example, CoffeeScript. It's a new language. The fact that it's > compiled into JS is just a concrete case. With the same success it could > be written e.g. in C. Or even in Assembler. Does it mean that you should > learn Assembler first, before programming in Coffee? Of course not. > > I.e. the programmer which attached into the programming on Coffee's > level of abstraction (and its syntactic rules and sugar) may learn > already only by docs of this level. I kind of think that is a bad argument. Sure you can come into programming and know one language and get quite a lot done just thinking in that language. I've never really programed in assembly but I've studied it and understand its concepts and by doing that it's helped me see things differently in higher level languages. Just because you are provided with nice features in a language does not mean you should be totally blind about how things really work. Python and Rub both have a very clear syntax that is easy to follow and allows for sufficient modularity. Case in point: class Student(Person): <-- Here I know the Student and Person relationship and I know the code for this class will follow in a single block. JavaScript does not have this level of clarity. I have to do a significant amount of work just to figure out what an objects capabilities are. Also the code could be scattered all around and it is not contained within a single block. Coffeescript does nothing for me here. JS is a step backwards in terms of having a platform to create large programs with well structured, easy to read and modularized code. It is tolerated in browsers because its all you get. Building languages on top of JS may be a popular thing in the future who knows? I think it has minimal syntax and the JIT compilers are quite fast. That makes it similar to C in the same way the JVM and CLI are similar to C... (not very). -- To view archived discussions from the original JSMentors Mailman list: http://www.mail-archive.com/[email protected]/ To search via a non-Google archive, visit here: http://www.mail-archive.com/[email protected]/ To unsubscribe from this group, send email to [email protected]
