Internet and Social's Influence on Programming Evolution

Revision as of 07:22, 24 October 2011 by Daegalus (talk | contribs)

Internet and Social's Influence on Programming Evolution

What I plan to discover from my research

How the internet and the influence of social media and social websites have influenced the growth, changes, and paradigm shifts in Programming. From the days of C++ only to how now we have hundreds of programming languages all focusing on web programming and social interaction. Along with the recent re-emergence of Functional Programming as a popular solution to handle massive data sets and processing.

Research Plan

  • Search for factual information through Wikipedia's sources and various online websites
  • Attempt to interview various people in the programming world, like the inventors of various programming languages and platforms. Node.js, Javascript, Python, Java, Ruby, etc.
  • Find out how the general masses of programmers helped push these shifts into mainstream.
  • Get more information on the various changes in thought that the internet and social media brought, how programmers adapted, and how it changed programmers priorities on what to use and what was needed.

By Yulian Kuncheff

Progress & Changelog:

  • Oct 22nd - Began indepth research
  • Oct 23rd - Spent some time finding correlations
  • Oct 23rd - Created progress powerpoint for class and solidified a bit of what I am going after.

Outline of Powerpoint - (Will expand with more detail information)


What about before 2002?

  • Before 1967, nothing really followed a paradigm, languages just tried to make programming more accessible.
  • 1967-1968 showed the first signs of paradigms.
    • Simula & Smalltalk - Object Oriented
    • Prolog - Logic
    • ML & Scheme - Functional
    • B, C, Pascal, Forth - Imperative

Before 2002 (cont.)

  • 1980s showed general consolidation to imperative languages along with a lot of overlap and mixing of paradigms.
  • Generics, Object Orientation, and lazy evaluation spread amongst the languages
    • C++, Obj-C, Common Lisp, Perl, Tcl, and Erlang come onto the scene.
  • The 90s and the internet, new languages emerged and many were modified to adapt to this new radical platform.
  • Functional went on a rise, and more RAD languages became popular featureing IDEs, garbage collection, and most were object oriented variations of past languages.
    • Object Pascal, Visual Basic, and Java
  • Haskell, Python, Ruby, Lua, Java, Javascript, PHP, and D came onto the scene.

Last 10 years

  • In the last 10 years, languages have become more internet focused and feature many mixed paradigms and features. Goals are now to make languages easier for programmers with faster turn-around times.
  • New languages: C#, F#, Groovy, Scala, Factor, Clojure, and Go
  • These languages feature many paradigms, and features that are from various languages.

An example of C# being imperitive, functional, and logic based depending on how you use it.

How has Social affected us?

  • The internet and social has affected the expectations of programmers and programming languages.
  • Languages now need to support everything and handle all memory and grunt work, leaving the programmer to just write the logic that is needed.
  • With these tools, programmers are now expected to achieve results faster with less problems.
  • In Early 2000, C/C++ was the defacto language. If you did not know this, finding a job would have been difficult.
  • Only a few years later, with the boom of social and internet, people needed fast, scalable, and easy languages and platforms in order to build the massive influx of socialized software.
  • Twitter, Facebook, LinkedIn and most social sites are written in garbage collected, high level languages that do all the memory work for us and easily scalable.

But why has this happened?

  • While C/C++ can probably handle the loads that social sites create, the time to write the software, make it scalable and in general fit what is needed takes much longer than if you would write it in a high-level language.
  • Hardware allows it. With memory, processor speeds, and SSD drives, it has become easier and easier to rely on high-level languages and ignore the minor performance benefits low-level languages provide.
  • Money. Its cheaper to higher 2-3 programmers to do the work in a few months, then 5-6 that will do it in half a year.

Further Research

  • Why websites choose the technologies that have chosen and compare them to the reasons why older languages were chosen in the past.
  • Are the the changes really by social or is it programmers taking advantage of upgraded technology?
  • What trends seem to be happening now and how they will affect future programming.