Increasing Focus on Polyglot Programming and Web Platform


To increase the focus on Polyglot Programming and provide students with broader options of building blocks to fabricate software, I have upgraded almost all my Language courses to include JavaScript.

I have introduced JavaScript in Java Technology and C#.ASP.Net courses. JavaScript provides a good contrast to statically typed languages like Java and C#. With constantly increasing emphasis on Web Platform, JavaScript becomes a important language to be mastered. Apart from enrolling in a full fledged course on Javascript and HTML5, students enrolling for most of the other courses will also to learn JavaScript.

I usually compare languages in all my courses. For instance, I compare and contrast Java with C#, C++ in the Java Technology course. This comparison ends up being comparison  of  statically typed languages. JavaScript is a welcome candidate in the family. JavaScript provides a sharper contrast to Java from several perspectives. For example, JavaScript's Dynamic Typing and Class-less Object Model prevent students from being typecasted to a single world-view of Object Oriented Programming. JavaScript's Functional Programming notions provide a good comparison to C# and Java's Lambda facilities.

In general, students learning Java,C# or Php have only a preliminary knowledge of JavaScript. This limits their ability to create sophisticated Client Side experience that support their Server Side Applications. I am expecting better Client Side Components being produced as an outcome of introducing JavaScript. However, this also means that students now have an increased workload during the course. So far... the introduction has been greeted with a warm welcome by majority of the student community.

A typical Web Application project implemented end-to-end would need a polyglot programmer.

  1. SQL to talk to databases , 
  2. Java , C# , Ruby , Php etc to write the Server Side Application Logic.
  3. JavaScript , HTML,CSS for Web-Clients. 


The focus in the courses is to make the student appreciate strength and weakness of each language. Create awareness of the multiple paradigms and styles that languages enforce, support and discourage. Inculcate taste in language comparison and encourage learning of new languages.

I hope that students trained in this fashion will be more competent to appreciate advanced topics like Design Patterns and Software Architecture.





copyright ©Rajesh Patkar, All rights reserved.

Comments

Popular posts from this blog

Harikavach ( Level 3 )

Potter Metaphor.

Grapes a Metaphor