Reading 05: Programming Languages

 "Programming languages are not just technology, but what programmers think in" is a very interesting statement, that I agree with and also do not agree with. I agree that when I personally am coding in a language, it does feel like I am thinking in that language, as in the verbiage my internal dialogue thinks in is definitely tied directly to the keywords that programming language uses. However, I do not think really that all programmers think in their own specific language, as interspersed with those keywords are chunks of thought that are larger than the unique language. This includes simple thoughts such as "I need the array to be larger" or "I can't believe this is not working correctly". As pedantic as it is, I do think that that fundamental difference disqualifies me, at least, for 'thinking in a programming language'. 

On another note, I do believe that there are 'stronger' programming languages than others. However, I think that it mostly ties into how programmers can see and visualize the language more than physical software capabilities. In theory, BrainF**k as a programming language should be on par with other languages in terms of power and capability, but the syntax of it makes it nearly impossible to read as a human, and therefore, not as 'powerful' of a language due to the difficulty of actually coding in it. There are exceptions to this, such as Scratch, made by MIT. It is a beginner programming 'language' that is done in code blocks that are easy enough to understand specifically for children. I have dove deep into this language in the past to see the extent of what it can do. The most complex thing I have ever seen anybody do in Scratch is a 3 dimensional raytracing algorithm, akin to how early Doom or Wolfenstein games captured 3 dimensions. It runs extremely slowly, and is absolutely limited by the block code construction of the language. However, I do not believe that exceptions to my argument invalidate it. I believe that Python and C are both incredibly powerful because they are able to be easily read, understood, maintained, and executed by humans at a high level. 

I like Scratch because it is what got me into computer science at a really young age. My computer class in the first or second grade was where it was introduced to me. I loved it so much that I did it in my own spare time a lot, creating movies or games that were terrible and really didn't serve much purpose outside of my own intrigue. I have come back to the language over and over across the years because of the fantastic community element of it, as there is a large open forum for people to share their creations. It is so interesting to see what levels people have pushed Scratch to, such as the raytracing I mentioned earlier or Super Scratch Bros, a full replica of a Smash Brothers title in Scratch to the best of its ability. I do not still use Scratch much, but I do like going back to Scratch.MIT.edu sometimes to see what other people have done. 

Comments

Popular posts from this blog

Reading 02: Hardware Hackers

Reading 04: Nerds and Hackers (Paul Graham)