Show HN: Scripting languages at university? (informatics-sapm.blogspot.co.uk)

2 points by YPetrov ↗ HN
Hi everyone,<p>As part of a university course, I wrote a blog post on why scripting languages should be encouraged by the university professors for courseworks and how this will help students learn more.<p>What is your opinion on the topic?

3 comments

[ 2.9 ms ] story [ 13.2 ms ] thread
Hi everyone,

As part of a university course, I wrote a blog post on why scripting languages should be encouraged by the university professors for courseworks and how this will help students learn more.

What is your opinion on the topic?

I think it's problematic to write in such general terms ("scripting" vs "system") because it only holds together when cherry-picking languages. Just because selected C derivatives are verbose and low-level, it doesn't follow that all other static, compiled languages must be too.

In hindsight, my own experience with university coursework was pretty horrible. It was taken as a given that everyone would use C++ for everything. Yet, it generally remained woeful C++ because no feedback was given on technique. Some diversity would have been nice so that I could have graduated sucking in three languages rather than just the one :)

The main reason students should use non-low-level languages is to encounter new features, and new programming paradigms. Languages like C or Java don't have closures; this rules out real higher order functions. The type system of Haskell is refreshing. Object orientation in traditional languages seems crippled once you see CLOS, Ruby, Smalltalk or Perl6. The dynamic syntax of Lisp or Perl6 is interesting.

Even a modern low-level language like Go or OCaml is “better” than C(++), as memory safety rules our a majority of bugs. While everybody should understand the lowest level basics, there are modern languages with extraordinary features and great performance (2–300 times C) out there to get the actual job done.

You could have also noted that the choice of the language is largely irrelevant if the code is tested by language-agnostic tests. This would allow the lecturer to specify a number of languages that are available, and require the students to include a makefile to compile/build the actual project.