Class Journal Week 4

From LMU BioDB 2015
Jump to: navigation, search

Read

  • This week we focus on additional sections from “What is Code?”: “Why are Programmers So Intense About Languages?” and “Why are Coders Angry?” (uh, are you?)

Reflect

  1. Based on what you read here, would you consider sed to be a language? Why or why not?
  2. Of the languages that are skimmed in these sections, which one (in the brief exposure this article gives) appeals to you the most, and why? (yes, we are also expecting the biology majors to answer this—no obligation to fully understand the languages nor examples; just share what you like about what you see)
  3. Would you agree that coders are “angry?” Are biologists “angry” too? Why do you think so? (quid pro quo—computer scientists should answer this also, to the degree that you know biology and biologists)

Student Responses

Mahrad Saeedi

  1. Based on what you read here, would you consider sed to be a language? Why or why not?
    • I would consider sed to be a language because the possibilities are endless when using this command. There are so many variations that can be inputted or incorporated into this simple command that I would consider it a complex language. The fact that backslashes, numbers, and symbols can be included in the command to add, delete, and target specific sequences of text makes it a language in itself to me. Sed is a language that can make the computer do specific tasks, like any other computer programming language.
  2. Of the languages that are skimmed in these sections, which one (in the brief exposure this article gives) appeals to you the most, and why? (yes, we are also expecting the biology majors to answer this—no obligation to fully understand the languages nor examples; just share what you like about what you see)
    • By far Javascript is the computer language that stands out to me the most because it's benefits and uses are relevant. I've had some experience with javascript and html coding in making a couple websites and it is the most interesting language. Knowing javascript can enable you to do web design and become efficient in formatting and this has always been the most appealing aspect of computer science for me.
  3. Would you agree that coders are “angry?” Are biologists “angry” too? Why do you think so? (quid pro quo—computer scientists should answer this also, to the degree that you know biology and biologists)
    • From my experiences thus far playing the role of a computer scientist, it is apparent that coders are "angry." There are just so many places where one very minor slip up in text or code will produce a completely different result or even worse no result at all. Speaking for myself, I get irritated when I use a code multiple times without getting the desired result. It's upsetting because you think you have the command right and you know what you are trying to get the computer to do but the slightest typo can prevent the desired outcome. I wouldn't say biologists are necessarily "angry" due to the fact that there can be multiple explanations to one problem. With computer programming however, even though there are multiple variations of command strings you can use to solve a problem, it requires being very meticulous and precise with everything right down to the space and case sensitivity.

-Msaeedi23 (talk) 23:41, 28 September 2015 (PDT)

Yes, there is a level of precision involved with programming that many find initially daunting. The good news is that, once you’ve assimilated this way of thinking, you will find benefits to this beyond just technology. You will be more sensitive to detail, and thus be able to handle more information at any given moment. So hang in there; you’ll enjoy the results once you’re done :)

Dondi (talk) 15:51, 10 October 2015 (PDT)

Nicole Anguiano

  1. Based on what you read here, would you consider sed to be a language? Why or why not?
    • I wouldn't consider sed so much a language as much as it is a function in Bash. Sed takes in an input and gives an output depending on what parameters you've given it. It allows certain parameters and will error on incorrect parameters. Outputs from sed can be fed as an input into another sed. In thus, it seems to act to me more like a function of a language than a language itself. Sed cannot really be used to do much else other than text conversion - replacing a characters or series of characters with other characters, and editing a file. A programming language can allow the user to perform a wide variety of operations on many different inputs, using different methods and functions.
  2. Of the languages that are skimmed in these sections, which one (in the brief exposure this article gives) appeals to you the most, and why? (yes, we are also expecting the biology majors to answer this—no obligation to fully understand the languages nor examples; just share what you like about what you see)
    • While my first reaction was to answer this question with "Javascript", on further inspection, I think that Python appeals to me the most. While I am very comfortable with Javascript and know it well, Python appeals to me as a language due to its use in many systems and its potential to be used in many applications, both web and otherwise. The fact that Python can serve as a wrapper for other languages also intrigues me, as it indicates a depth to the language that I haven't observed in other languages that I've explored.
  3. Would you agree that coders are “angry?” Are biologists “angry” too? Why do you think so? (quid pro quo—computer scientists should answer this also, to the degree that you know biology and biologists)
    • I would agree that coders are angry, as are biologists. I think that some of the anger comes from the natural human tendency to want everyone to think in the same way that they do. This is especially relevant for coders, who tend to be very vocal about the languages they like and dislike, regardless of whether or not their claims are true. However, I would agree with the claim that programmers are angry because they are scared. Computer science as a field is constantly shifting, and languages that are king one day could be obsolete the next. It requires the programmer to always be on top of the newest developments in computer science - the newest languages, tools, and systems. While for some this is exciting and part of the draw of computer science, for other it is something that brings about anger. While I tend to fall into the former group, I can understand why it would be a cause for fear and anger. I know there are languages I am proficient in now that may be useless to my career in the future, regardless of how much I enjoy the language.
    • For this same reason, I would say biologists are angry. A biologist can dedicate years to researching something that may result in no discoveries worth noting. A biologist can spend a long time perfecting a technique, only to have it replaced by something else. Biology is a field that is also changing and growing all the time. New discoveries can make in-process research projects obsolete. Theories considered true for a very long time can be disproven at any time. Though some may find excitement in this change, others may not. I think it is a natural human reaction to fear change, and to develop anger towards that change. Since computer science and biology are frequently changing, I can fully understand why both computer scientists and biologists may be angry.

- Nanguiano (talk) 14:31, 22 September 2015 (PDT)

Based on the premise that the unknown is a significant component of fear, I can certainly say with certainty that your future work will include technologies that you did not learn, and possibly that did not even exist, during your college years. This was certainly true of me. Java, Python, JavaScript, etc.—none of these were around when I was in college.

Instead of growing anxious about this, I would say that being sure that this will happen instead allows you to prepare for it better. Make sure to remain mindful of the paradigmatic and technology-independent concepts behind what you learn in college: that is what sticks around. That is what will prepare you—perhaps even excite you—for the new languages and platforms that you will encounter after school.

Dondi (talk) 15:56, 10 October 2015 (PDT)

Emily Simso

  1. Based on what you read here, would you consider sed to be a language? Why or why not?
    • I think I would consider "sed" to be a form of a language, though a rather rudimentary one, because it still takes a certain level of knowledge and understanding to realize what sed is able to do and perform. While there are clearly more advanced and technical languages available, I think sed is a sort of introductory language, especially for someone new to the command line.
  2. Of the languages that are skimmed in these sections, which one (in the brief exposure this article gives) appeals to you the most, and why? (yes, we are also expecting the biology majors to answer this—no obligation to fully understand the languages nor examples; just share what you like about what you see)
    • I think I like Python the most because it seems the most applicable. Since it has the pre-loaded modules, a user could manipulate Python for a variety of situations and fields. I think Python also seems to be fairly user friendly, so that a beginning programmer could still be very effective in their projects. It also seemed interesting to me to think of how coding can be used in these different areas.
  3. Would you agree that coders are “angry?” Are biologists “angry” too? Why do you think so? (quid pro quo—computer scientists should answer this also, to the degree that you know biology and biologists)
    • I would agree that colors are angry, because there are not only so many languages to choose from currently, but a new one could appear at any time to disrupt the current flow. Since the industry is so fast past and based upon a short-attention span mindset, it would be frustrating constantly juggle the changes. It seems that a lot of work is done based upon personal preference for one language or another, meaning that things could get problematic if someone takes offense at another individual's comments. It was also be difficult to work between all of the different languages and "interpret" what other people are saying or working on.
    • I would also say that biologists are angry, because there are so many different specialties in biology, but everyone thinks theirs is the most important. Similarly, an individual can spend years researching a topic, but then new technology can emerge that makes their findings either obsolete, or that could have found the same answer in a shorter time frame. Biologists might also be angry because the field is constantly changing and there is so much new information coming in all the time; it makes it difficult to get a firm grasp on a concept or area of study.

Emilysimso (talk) 15:40, 26 September 2015 (PDT)

Indeed sed is fairly rudimentary, in that it is sort of just a “search-and-replace” command albeit an extremely powerful and flexible one. (can you imagine if the find-and-replace functions in our word processors could do what sed can?) However, the good news is that most everyone understands the concept of “search-and-replace,” and as such sed can be made approachable even if it is a hardcore command-line system.

I hope you get an opportunity to explore our interest in Python—I think your initial impressions of it will prove to be true for you. If you feel like it I can give you a little more of a tour sometime; drop by office hours or something. And as it happens, Python is an extremely popular language among bioinformatics practitioners, so learning it is potentially a good investment of your time.

See my response to Nicole’s journal entry above for my thoughts on the fear of seeing languages shift and go obsolete. In a sense, perhaps accepting that as inevitable might help one prepare for it better and simply accept it as a natural part of the field (possibly applicable to biology and other disciplines, as well).

Dondi (talk) 16:04, 10 October 2015 (PDT)

Brandon Klein

  1. Based on what you read here, would you consider sed to be a language? Why or why not?
    • Although sed does emulate some of the fundamentals of programming languages such as having a standards library, syntax, and even feel, I do not believe that sed can stand alone as a language. While reading "What is Code?", I got the impression that a programming language must encompass an entire paradigm about computing. Languages dictates how a programmer interacts with the components of the computer itself, and in doing so they define a set of commands that can be used to evoke correlated processes. I perceive sed as simply one of the commands in such a language. It may do some of the same things a language does, but is merely because sed is nested within a language itself. In this case, I believe the part (sed) is representative of the whole (the language), but it cannot be equated to the whole. If we were using the object-oriented language Smalltalk that Ford references, sed would be just one window. The language is the entire set of windows and the way they interface with the computer & user.
  2. Of the languages that are skimmed in these sections, which one (in the brief exposure this article gives) appeals to you the most, and why?
    • Although Python appealed to me due to its user-friendly nature and popularity in the United States, I would have to say that the language C appealed to me the most. I immediately liked the fact that C was described as a language that offers extensive control of the system and rewards a meticulous mindset. Furthermore, I generally prefer to learn about subjects that are of interest to me by starting with the foundational knowledge in the field. Although it is sometimes tempting to jump right in despite a lack of experience or understanding (think Python), I generally find it more rewarding in the long run to understand how things work behind the scenes first (think C). Beyond this, the fact that C is a foundational part of Unix is appealing to me since I have been working with Unix and know it runs on my preferred platform (Macintosh). C also was described as having many more specialized derivations that are popular around the world, which further emphasize the importance of understanding C. And if all that wasn't enough, the analogy comparing C to the Latin of the programming world was just too good to pass up.
  3. Would you agree that coders are “angry?” Are biologists “angry” too? Why do you think so?
    • After reading "What is Code?", I would definitely agree that coders often exhibit a certain superficial "anger". Distinct from anger in the typical sense, this "anger" is a more transient product of passion for the field coupled with its highly volatile nature. Individuals who make a living programming are naturally very passionate about the choices they make within it, such as which languages they prefer to use. However, it is difficult for coders to retain their specific passions over time, as challenges are constantly posited towards old languages/methods as new ones arrive on the scene. And so, coders engage in a constant discussion about the validity of their programming choices. Yet this is far beyond a squabble for bragging rights or ego-the successes of various languages dictate a coders job description and job security. It is only reasonable, then, that coders are often seen taking to forums and "angrily" claiming why their language of choice or way of coding is superior to another. In a similar fashion, biologists can also be considered as "angry". In the field of biology, individuals specialized in specific research topics as opposed to computer languages. Nevertheless, the two are similar in that they require years to master and seconds to be rendered obsolete by a new innovation. Just as a new language can invalidate its predecessors, big discoveries in biology infallibly alter the paradigm in the field by redefining what is worth researching. Thus, the job security of a biologist is threatened much like that of a coder, and fear of this threat creates "anger". Thus, biologists and coders both "angrily" defend their passions to justify the niches they have chosen to explore in their respective fields.

--Bklein7 (talk) 19:53, 27 September 2015 (PDT)

That is a very nice insight you have about Python vs. C, and I will say that this lines up with my way of thinking as well. Python is extremely convenient and you really have to be quite obtuse to render Python code unreadable, whereas C is virtually the opposite :) However, there is a rudimentariness, a stick-to-the-basics mentality with C that I admit continues to appeal to me to this day. I probably will not want to develop a multimodule, highly complex architecture with C, but I like writing tight, highly-efficient little functions in it. Plus C is the one major language that remains in use today, among the languages that I learned when I was in college. That says a lot, given how technology moves! By its age and role in the history of later languages, it is certainly a lot like Latin. Unlike Latin, however, it remains quite alive and well today, albeit restricted to code that has to run “close to the iron.” (e.g., operating systems, device drivers, small utilities that need maximum speed)

Dondi (talk) 16:11, 10 October 2015 (PDT)


Anu Varshneya

  1. Based on what you read here, would you consider sed to be a language? Why or why not?
    • Based on what I read, I consider sed to be a language, but only barely. The article announced several characteristics that define a language, but ultimately the purpose of a language is to make a computer do what you want it to without having to spell everything out in binary. A computer language, to my understanding, has programmer-friendly language that has been defined to be interpreted by the computer in a certain way. So far with my experiences with sed, I have used several different functions in order to have the computer do what I want. These functions came built into the sed system, and all I had to do was plug in values that I wanted manipulated.
  2. Of the languages that are skimmed in these sections, which one (in the brief exposure this article gives) appeals to you the most, and why? (yes, we are also expecting the biology majors to answer this—no obligation to fully understand the languages nor examples; just share what you like about what you see)
    • Of the languages mentioned, I like Python the most. Python is very user friendly and is a simple language to use, but it also allows you to perform more complex programming practices such as object oriented programming. Though C is an important language to understand how robust the you must make the information you send to a computer, it can get tiresome to use for longer or more complicated programs. Smalltalk sounds interesting in that it is supposed to be a "human friendly" version of C, but it was vaguely compared to Java which automatically makes me not love it as much as Python. I am interested in learning a little more about it, but after reading the article and using Python in the past, I can easily say it is my favorite language out of those mentioned in the article.
  3. Would you agree that coders are “angry?” Are biologists “angry” too? Why do you think so? (quid pro quo—computer scientists should answer this also, to the degree that you know biology and biologists)
    • I don't agree that either coders or biologists are "angry" in the usual sense of the word, but the article describes angry as competitive, and with that I can agree. Computer science and biology are similar that in order to remain competitive in the field, you must stay on the forefront of research and discoveries made in the field, while also proving that the work you are producing is important and relevant to the field. Both coders and biologists have specific intentions regarding what they hope to achieve within their career, and they are both working very hard with and against other in order to achieve their goals.

--Anuvarsh (talk) 10:56, 28 September 2015 (PDT)

Hmmmmm, it looks like we should find ways to let you explore your interest in Python more. It is certainly a good language to get into further, and indeed it has a lot of appealing qualities which stand in contrast to how Java does some things. In the end, though, it is good to get a handle on multiple languages; it just makes learning new ones that much easier, and makes you more technologically agile. True, we will all develop our personal preferences on which ones we like, but in this line of work, “personal preference” should not be synonymous with “acquired skill.” Perhaps, the coders who remain angry are the ones who have not made that realization yet?

Dondi (talk) 16:24, 10 October 2015 (PDT)


Lena Olufson

  1. Based on what you read here, would you consider sed to be a language? Why or why not?
    • I would not consider sed to be a language because I do not think that it has as broad of a range and set of various functions to be considered a language. Sed is better at following commands and inputs to produce desired outputs, sort of acting like a function button. You type in and command what changes you want sed to make and apply to your files, and sed goes through and applies all of those changes. From my understanding, a language has a more vast capability and has many more routes and inputs within it, making it different than what sed is.
  2. Of the languages that are skimmed in these sections, which one (in the brief exposure this article gives) appeals to you the most, and why? (yes, we are also expecting the biology majors to answer this—no obligation to fully understand the languages nor examples; just share what you like about what you see)
    • I was interested by the C language because it was such a large and widely used one that is seen all of the world today. It was cool to learn that the C language was created in the late 1960s, and yet it is still continued to be used everyday and everywhere now. From what I could understand, C has a very practical way of working as it allows for new utilities to be written and added to the utility library. C sounds like a simple and understandable language that allows people to control every part of a computer, however it has the potential to be dangerous if used incorrectly. The article also explained how fast C is and how you can make the language run faster depending on how you control it.
  3. Would you agree that coders are “angry?” Are biologists “angry” too? Why do you think so? (quid pro quo—computer scientists should answer this also, to the degree that you know biology and biologists)
    • I do think that coders are "angry" in a certain sense. They are angry mostly out of fear though; the fear of job stability and security. There are always people out there that will be more experiences in a certain language than you and so if you do not keep yourself up to speed and current then you run the risk of being replaced. Coders also come across as angry because they often feel the need to have a quick response to obstacles and questions presented to them. They often blurt out the blunt answer as soon as they can to make sure they beat those around them. I would also say that biologists are "angry" in the same sense as coders are. Biologists live in a competitive and exciting work environment in which new advances and discoveries are being made everyday and so it is a race to see who can figure out something first. If a biologist is working in a lab to field but does not know how to use the advanced equipment as well as a newer and younger biologist, then the older biologist runs the risk of being replaced.

-- Lenaolufson (talk) 14:17, 28 September 2015 (PDT)

Yes, I would agree that sed, for all its power, remains strictly within the “search and replace” realm. However, this single-mindedness does help in making it an introduction to programming in general, allowing beginners to focus on certain elements first before moving on to more advanced ideas.

C is certainly impressive in its longevity, and that is not for lack of attempts to replace it. There is an emerging language, called Go, that I would say is the current viable contender, but it has in no way trumped C’s widespread usage yet. These things take time though—look up Go in a few years to see where it ends up :)

The notion of fear leading to anger (hmmmm, I’ve heard that before, in some sci-fi movie franchise...) is certainly a factor in “why coders are angry.” I provide some additional thoughts on this in the responses I have made above this entry.

Dondi (talk) 16:31, 10 October 2015 (PDT)


Josh Kuroda

  1. Based on what you read here, would you consider sed to be a language? Why or why not?
    • I don't think that sed is a language, rather, I think it is simply a utility that is a part of linux/unix. I also feel that a language needs to be able to do more than just a single function. sed is complex, to a certain extent, but languages are so much more detailed and complex than just sed
  2. Of the languages that are skimmed in these sections, which one (in the brief exposure this article gives) appeals to you the most, and why? (yes, we are also expecting the biology majors to answer this—no obligation to fully understand the languages nor examples; just share what you like about what you see)
    • I like python. Mostly because I have had past experience with C and Java, and I like that python has that level of abstraction. Although it is sometimes nice to use Java when solving problems, I feel like python is easier for others to understand and I like that it has those libraries for us to use.
  3. Would you agree that coders are “angry?” Are biologists “angry” too? Why do you think so? (quid pro quo—computer scientists should answer this also, to the degree that you know biology and biologists)
    • I would agree that coders are "angry," only because I myself have had many arguments and discussions with friends over why I often choose to code in ruby over python. Once you like a language, you really like it. In the same way, changing and learning a new language after having no problems with a current one is frustrating. From what I've learned about the biology world, I would say that biologists aren't as angry, because they seem to be more concerned with the sharing of data and knowledge regarding biology. For them, it doesn't matter what means a scientist uses to find the cure to cancer, they just want to achieve that common goal of solidifying a cure.

-- Jkuroda (talk) 18:12, 28 September 2015 (PDT)

I’m beginning to think that we should fine an avenue to expose more students to Python, after seeing the responses in this shared journal entry page. As someone who does do Python professionally, I will agree that it has a lot of appealing characteristics. But more importantly, reflecting on what makes those very characteristics appealing in the first place is what leads to deeper insight on programming language design. This awareness also takes some of the edge off shifting languages; once you realize how certain concepts really are the same even if they do not look the same in different languages, moving between them becomes easier. Many of the systems for which I do dev today are multi-language—it is not uncommon for me to toggle between two source files, each in a different language. When your brain gets acclimated to that, lots of possibilities open up nicely.

Dondi (talk) 16:36, 10 October 2015 (PDT)


Mary Alverson

  1. Based on what you read here, would you consider sed to be a language? Why or why not?
    • I didn’t consider sed to be a language before reading this question, but now I would consider it one. This is because sed has a standard library of sorts. It has the s/ commands that search, the y/ commands that replace, the command that gets rid of line breaks and I assume more. Within those sed commands there are many variations that manipulate the output. The only thing that made me think that sed was not a language was that the sed code also works with the cat code, and the grep code. That led me to believe that grep, cat, and sed were all programs in a standard library of some other language. This, however, does not necessitate that grep, cat and sed are all the same language. For example, the reading said that Python can cooperate with other languages such as C.
  2. Of the languages that are skimmed in these sections, which one (in the brief exposure this article gives) appeals to you the most, and why? (yes, we are also expecting the biology majors to answer this—no obligation to fully understand the languages nor examples; just share what you like about what you see)
    • I think I am biased based one the language that I have programmed with the most, but after reading this article I still find Java most appealing. This is for a few reasons. One reason that was touched upon in this article is that so many employers and places use Java, or at least require the knowledge of Java. From an “I need to get employed” perspective, learning Java makes sense. Apart from that, I like Java because it is a language that is easy to stay organized in. I like that I can organize my code in many methods based on what object those methods will be useful to. I would much rather many short methods rather than a few long ones because short methods are easier to understand what they do, and also easier to debug.
  3. Would you agree that coders are “angry?” Are biologists “angry” too? Why do you think so? (quid pro quo—computer scientists should answer this also, to the degree that you know biology and biologists)
    • I don’t think that coders are angry but I also haven’t come across many coders in person who are forced to continually learn new languages in order to stay useful in their careers since I mostly come in contact with other students. I still don’t think coder’s are that angry though, I would just say passionate. For example, after writing the answer to question number two I can realize that I like the Java language. If someone wanted me to write a program in Python that I thought would be easier to write and understand in Java, I would probably be a bit angry. I have not seen an “angry” biologist and I wouldn’t say they are angry because science is always changing because of new experiments and findings and I think an integral part of the scientific field is being open to those new changes, but also challenging them to make sure that the new findings are true. The culture is to challenge each other but in a way that will eventually benefit everyone. I think scientists want to be challenged so they can improve their findings and processes, so are open to other’s ideas.

--Malverso (talk) 18:14, 28 September 2015 (PDT)

I would agree with the observation that Java forces a certain level of organization that other languages do not. Interestingly, it is this very forced organization that bristles other programmers about Java. As with many things, it boils down to cost-benefit. “How much x must I do to accomplish y?” Depending on the scenario, x will have different levels of value. Not surprisingly, organization increases in importance as a code base increases in size.

The notion of a “culture to challenge each other” would indeed make for interesting discussion when applied to computer programmers. There are certainly programmers who do not abide by that culture—and I guess they are the ones that we would consider to be “angry”—but there are others who do welcome challenge, and in fact get bored when they are not challenged. But because both groups are still programmers, this suggests that the two characteristics may be mutually independent. I’m not a psychologist though so I can’t say much about that beyond just stating that it’s there :)

Dondi (talk) 16:46, 10 October 2015 (PDT)

Kristin Zebrowski

  1. Based on what you read here, would you consider sed to be a language? Why or why not?
    • I don’t think that sed counts as a language—at least, not in the way that C or Java or Python are. Sure, it’s a way to process instructions to make the computer do what you want, but only to an extent. I haven’t had any experiences with computer languages apart from the very basic instructions through sed, but even then, I feel like it is quite limiting after reading this article. I feel like it is just a part of Unix, albeit a useful part.
  2. Of the languages that are skimmed in these sections, which one (in the brief exposure this article gives) appeals to you the most, and why? (yes, we are also expecting the biology majors to answer this—no obligation to fully understand the languages nor examples; just share what you like about what you see)
    • There were two languages that appealed to me: C and Smalltalk. I like the extent of control C allows you to have--including control over the files, hard drive, and memory--and also that it's very fast. A computer language that is both thorough (if you know what you're doing, which I won't pretend that I would) and incredibly quick is a good one. In contrast, Smalltalk stood out to me, even though I realize that Smalltalk and C are very different. I really liked how the article said "Smalltalk tried to make it easier to do human things" (The Corporate Object Revolution). Isn't this one of the big objectives at the root of computer science: to make things easier, to solve problems? I also liked that Smalltalk was not only inspired by computer science but also by things like biology and philosophy. It all comes back to the importance of finding and utilizing the overlap between disciplines that seem like they have nothing in common on the surface--kind of like this class! I wish that the article had mentioned Smalltalk more because I would have liked to hear more about it.
  3. Would you agree that coders are “angry?” Are biologists “angry” too? Why do you think so? (quid pro quo—computer scientists should answer this also, to the degree that you know biology and biologists)
    • I don't think that coders or biologists are angry. What I do think, though, is that they are feeling the pressure. What you have in both of these fields are very smart people who feel very passionate about what they do and what they study--maybe it's because they want to help others, or because they seek to understand the world. Either way, both biologists and computer scientists feel like what they are doing is very important, and not only of personal importance but even of importance to humanity as a whole, and from these beliefs comes a certain stubbornness. Both fields are changing and progressing at incredibly rapid paces. Everyone wants to be right because no one wants their work proved wrong and their field to become obsolete. It's this competition and fast-paced nature that I think makes biologists and coders come off as angry, but this intensity is really what is driving these fields forward.

Kzebrows (talk) 18:43, 28 September 2015 (PDT)

I actually wrote my doctoral dissertation software in Smalltalk so its appeal to me does run more than skin deep. I certainly enjoyed it as a language and wish I could program in it more. I think you might be intrigued that the inventor of Smalltalk, Alan Kay, has, as his long-term dream, the aspiration that programming will one day be an everyday skill that everyone has, like reading and writing. In a sense, Smalltalk was his first foray in trying to create a programming language that can make this possible. We’re not quite there yet, as you can see, but I would say that I continue to share Dr. Kay’s dream. Maybe, eventually, we will get to see this happen.

Dondi (talk) 16:51, 10 October 2015 (PDT)

Jake Woodlee

  1. Based on what you read here, would you consider sed to be a language? Why or why not?
    • I would say sed is not a language, but is more of a function of a language. Of which language I have no idea, but it pretty clearly is taking arguments and returning output. Sed also has no standard library that I know of but it is still very good at processing text.
  2. Of the languages that are skimmed in these sections, which one (in the brief exposure this article gives) appeals to you the most, and why? (yes, we are also expecting the biology majors to answer this—no obligation to fully understand the languages nor examples; just share what you like about what you see)
    • I would say C appeals to me the most. I've always wanted to learn C and have never really gotten past "Hello World". I really like how it will run even if it means crashing your computer, it adds an element of detail and danger that could be fun to deal with. Furthermore the way Ford described the speed and lightness of C made me want to try it just for that. These are just reasons besides the fact that it is the "father" of a lot of modern languages and it could really add to my understanding of programming languages.
  3. Would you agree that coders are “angry?” Are biologists “angry” too? Why do you think so? (quid pro quo—computer scientists should answer this also, to the degree that you know biology and biologists)
    • I agree that coders are pretty angry. All the online forums I've read really do reinforce Ford's "blurters". This is just due to exactly what he talks about in the beginning of the second section, technology changes so rapidly that people become scared they are falling behind. Also, coders become attached to the tools they use and as a result are quick to defend their tool of choice at all costs. From my experience Biology has not been progressing at the rate that the computer industry has progressed recently, as a result many of the reasons coders are "angry" don't exist. There isn't as wide a variety of necessary tools for biologists when compared to computer science, so they can hardly argue about which one is better. An "angry" aspect of each discipline I think is in the blunt talk that is encouraged in scientists, and can be seen in both fields. I enjoy that though, so I wouldn't categorize it as an "angry" thing.

Jwoodlee (talk) 19:40, 28 September 2015 (PDT)

Yes, the idea of a “library” is not quite concrete with sed, but then again if you think of a library as a “collection of reusable routines,” one might be able to interpret parts of sed’s functionality as just such a collection: there is a “matcher” that knows how to take a pattern and locate it in a string, if it exists; there is a “replacer” that takes the matched pattern and substitutes the specified test; there is a “counter” that checks if a directive should happen on a particular line; etc. It is true, however, that you as a user of sed cannot really invoke those routines in any combination. They happen at certain points in sed’s process, and cannot be changed from there.

Make sure to hold on to your interest in C through CMSI 284, because that is where you will encounter it in depth :) I will keep this journal entry handy for when CMSI 284 racks up the advancement level, heh.

Dondi (talk) 18:05, 10 October 2015 (PDT)

Brandon Litvak

  1. Based on what you read here, would you consider sed to be a language? Why or why not?
    • I wouldn’t exactly consider sed to be a language since its focus is rather narrow; sed shines at advanced text manipulation and pattern replacement but, as of now, I do not see it having a use outside of working with text/patterns/sequences. sed is sort of like a language in the way that one can use it to build a long chain of commands, which is somewhat akin to a program, but it, as a whole, lacks a lot of power in regards to making a “computer” do what you want it to do.
  2. Of the languages that are skimmed in these sections, which one (in the brief exposure this article gives) appeals to you the most, and why? (yes, we are also expecting the biology majors to answer this—no obligation to fully understand the languages nor examples; just share what you like about what you see)
    • I would say that Python appeals to me the most due to it being something that can work with the code from a variety of other languages via wrapper functions. I also very much like the fact that Python is popular since that certainly means that there is a lot of documentation about it (and tutorials, literature… etc). The popularity of Python also means that there are plenty of modified versions that can be applied to specialized tasks (I’m somewhat vaguely aware of a certain version of Python that was made with biology in mind). Python, overall, seems like a language that would be fun and not all too difficult to learn.
  3. Would you agree that coders are “angry?” Are biologists “angry” too? Why do you think so? (quid pro quo—computer scientists should answer this also, to the degree that you know biology and biologists)
    • I wouldn’t exactly call coders “angry” people but I would agree with the article on a lot of other points regarding coders. They do seem like very passionate people that are emotionally invested in their work and in the coding languages that they pursue. I also agree with the article’s point that coders/people involved with computer science tend to communicate efficiently, emotionally, and quickly. I thought it was interesting how the article portrayed every professional coder as being somewhat uncertain about his industry, future, and his skills; computer science seems to be a rapidly evolving field with related industries that, according to the article, constantly shift and change in their demands and expectations. Regarding biologists, I really wouldn’t call them “angry” at all but I do feel that there a few parallels between biologists and coders. Many biologists, like coders, decide to focus on a specific aspect of the field and grow to be immensely passionate about it. The field of biology, somewhat like the field of computer science, changes a lot and exhibits a constant influx of new trends, methods, and interests in the field and its related industries. I do feel, however, that the kind of uncertainty and “fear” that the article ascribes to coders is not exactly common in the field of biology; biologists seem like people that aren’t very attached or emotionally invested in tools/methods and, thus, change comes easier for them.

Blitvak (talk) 19:21, 28 September 2015 (PDT)

Your commentary on sed certainly aligns with some of my responses above this entry, so no arguments from me there :) As for Python, yes, it does have some strong adoption in the bioinformatics community. I do need to correct the impression that there is a distinct version of Python for biology; rather, to build on another idea in the readings, a good number of libraries meant for solving computational biology problems has been built with Python. Here is a good start: http://biopython.org/wiki/Main_Page (notice something familiar about their website? :))

“Emotionally invested” is certainly a good phrase for characterizing coders. As a coder myself, I know that I have spent many hours with the same technology just trying to get it to do exactly what I’d like to do. I can certainly understand the attachment that grows from such an investment. But, like I mention in some responses above, the way to handle that is to just accept that technology shifts, and thus be prepared for it by noting the concepts underlying the technologies which don’t change. This has worked for me so far :)

Dondi (talk) 18:27, 10 October 2015 (PDT)

Trixie Roque

  1. Based on what you read here, would you consider sed to be a language? Why or why not?
    • I would not consider sed a language because it’s just one keyword. It is basically a function that takes in no more than 4 arguments. sed processes those 4 arguments just like any other function and returns an output. A language, on the other hand, is more like a list of several of these keywords packaged together.
  2. Of the languages that are skimmed in these sections, which one (in the brief exposure this article gives) appeals to you the most, and why? (yes, we are also expecting the biology majors to answer this—no obligation to fully understand the languages nor examples; just share what you like about what you see)
    • Out of all the languages discussed in these readings, Python appealed to me the most since it is, after all, my favorite language (though Java comes in a close second). Even though Java has been the one I am most familiar with, due to the fact that it is the first language I used to code with, I have loved Python since the first time I’ve written programs since it is more concise and easier to read and understand compared to Java. A 20-line Java function can probably be written in 5 lines in Python. It is also “multiparadigm” which makes it versatile in all kinds of applications.
  3. Would you agree that coders are “angry?” Are biologists “angry” too? Why do you think so? (quid pro quo—computer scientists should answer this also, to the degree that you know biology and biologists)
    • I agree that coders are “angry”, but using the description in the article. The world of the computer programmer is so fast-paced that several products, not just languages, are popping up constantly. Like what the author said, it’s just a matter of time before some language overtakes languages like Java or Python. Because of this fast-paced world, coders tend to want to protect something that they love using, or else they’ll have to constantly adjust and relearn the newer languages in order to keep up. I myself have been in certain situations where I argue with friends (for fun of course!), such as the one I had last week about using different IDEs (we were debating whether Sublime Text is better than Eclipse). We weren’t even talking about the languages themselves but the tools we use for them. I think it’s because we both thought we had to defend what we believed was the better one just because we are so used to them. (For the record though, I really think I was right: Sublime is better than Eclipse, just saying :D). I also think that biologists are "angry" for similar reasons: I think that they are so immersed in a specific aspect in their field that they feel the need to protect it. The only difference I can say is that biologists defend the validity of their claims instead of defending because they fear the adjusting to the ever-growing world.

--- Troque (talk) 20:14, 28 September 2015 (PDT)

I like that you are very well-discerned regarding your preferences. I will take note for future reference: Python on Sublime for Trixie, and not Java on Eclipse :) Actually if you like Python, you might want to explore PyCharm (https://www.jetbrains.com/pycharm/). They have a free community edition, or as a student you can get the full-featured version with a student license. Not that an IDE is even necessary, of course…I don’t mind just using this thing called a “text editor” and a “command line” to develop software :)

In the end, change is indeed the status quo in computer science, and to a degree this is the case for everything, really. Acceptance of this is the beginning, I would say, of a different perspective that is not quite so “angry” as coders can be, according to Paul Ford.

Dondi (talk) 18:37, 10 October 2015 (PDT)

Erich Yanoschik

  1. Based on what you read here, would you consider sed to be a language? Why or why not?
    • I wouldn't necessarily consider sed to be a language. It is however a tool used by a coding language to make software. I would deem sed more of a module with preexisting code that is a sort of short cut for users to utilize when coding so they don't have to type out the code behind sed. Not yet understanding all the different applications of sed, it must have some solid, well thought out code behind it, or a fair more then I'm able to tackle at this point in time. Sed is extremely useful and I could see its utility being used by most languages, not necessarily in the same format.
  2. Of the languages that are skimmed in these sections, which one (in the brief exposure this article gives) appeals to you the most, and why?
    • The language that appeals the most to me is C. This language is the most popular and mastering this language would make transitioning into other languages much easier. The author also mentioned Linux's core being C, understanding and programming in the language could only be beneficial. Although it would be a bit tedious trying to remember all the functions created, and seeing as how I can be a bit messy and not write comments on certain lines. I would probably forget functions or confuse them, maybe even create 2 with the same name. This can easily be fixed by writing comments and labeling often and accurately. The idea of mastering this language is exciting, all others discussed build upon C as a backbone or a standard set for comparison.
  3. Would you agree that coders are "angry?" Are biologists "angry" too? Why do you think so?
    • I wouldn't consider coders an angry, but more of a competitive breed. In order to stay relevant in the field, they must be up to date with the cutting edge language and programming tools. Although this is just a tv series on HBO, look at Silicon Valley. The main character invents some sort of algorithm that blows the community away and his whole is changed. Programmers are looking to find the next great achievement and look beyond the curve, this takes drive and commitment. The payoff for instagram was 700$, which put python higher on the map. If I was a programmer and there happened to be a "slapdick" or clearly inferior coder who didn't care to invest in nearly the same amount of time I would. That would irk me as well. Coders need to work in groups, its almost impossible to do everything yourself, and you're only as strong as the weakest link. I wouldn't think of biologists as angry, we're a pretty calm breed of people. Biologists might seem flustered or angry at times from all the studying and pressure of obtaining marks deemed well enough to gain entrance to Med School or Graduate School.

--Eyanosch (talk) 22:22, 28 September 2015 (PDT)

It’s great that you have an appreciation for what you have seen so far, and also an understanding that there is a lot more going on underneath the hood. In case you ever happen to chat with Sam about these things, go ahead and tell him about grep and sed, then ask him about awk. That is another powerful command for transforming data, and Sam is pretty fluent in it—much more than I am, actually.

Yes, C can be a huge hot mess if you’re not careful, and that’s why the software engineering community has built a comprehensive set of best practices to help us keep a handle on large, complex code bases. There’s software design patterns; test-driven development; coding style guides; and many more. All of Linux is indeed written in C (well, mostly—there are some “raw machine” portions), and you can actually read all of this code in all its glory at http://kernel.org. Not for the faint-hearted, but you might get a kick out of knowing that it’s there.

Your reference to Silicon Valley adds a new spin to the notion of coders being angry, that has not been seen on this journal page so far: the idea of money. Much as we like to be idealistic and altruistic about what we do, it can’t be denied that money is a significant factor in many aspects of life. In technology, it is actually the predominant one for those who are not intrinsically interested in the subject matter. I have heard good things about Silicon Valley, so keep on watching it :) I have definitely known my share of colleagues who have gotten “angry” in that way—when I was in graduate school, one of the early big purchases was the one where Microsoft bought Hotmail (yes—Hotmail was not originally Microsoft’s product!). One of my grad school colleagues was livid with jealousy—he went on for many days about how Hotmail was such a simple idea and he could have written it if he had had the chance. He was looking at the millions that Microsoft paid for it and thought that these had been taken from him. Oh well…he is a pretty successful tech executive now, so I think he is finally over that.

Dondi (talk) 19:13, 10 October 2015 (PDT)


Ron Legaspi

  1. Based on what you read here, would you consider sed to be a language? Why or why not?
    • Based on what I read in the assigned sections of What is Code?, specifically section three "Why Are Programmers So Intense About Languages?," I feel that sed is not a language based on how the examples of languages described in the article (i.e. C, Java, JavaScript, Python, etc.). sed performs a variety of functions, as we have practiced in-class and in our homework assignments, but the programs that can be run by sed are small compared to the languages that have conferences and cultures dedicated to coding language. Knowing sed is useful, but knowing the popular languages of C, Java, Python, etc., is what gets you a job in the field of computer science and coding.
  2. Of the languages that are skimmed in these sections, which one (in the brief exposure this article gives) appeals to you the most, and why? (yes, we are also expecting the biology majors to answer this—no obligation to fully understand the languages nor examples; just share what you like about what you see)
    • Based off of the reading and my little knowledge of coding language, I feel that the most appealing of the languages has to be Python. The author says "Python people, generally, are pretty cool." Other than the fact that I would gravitate towards the pretty cool people of Python, but the way that Python is described as being a "multiparadigm" language. The fact that Python has this community of individuals who are making the language "pleasurable" and "practical" to use attracts the budding biologist/novice computer scientist part of me.
  3. Would you agree that coders are “angry?” Are biologists “angry” too? Why do you think so? (quid pro quo—computer scientists should answer this also, to the degree that you know biology and biologists)
    • "Programmers are often angry because they’re often scared. We are, most of us, stumbling around with only a few candles to guide the way. We can’t always see the whole system, so we need to puzzle it out, bit by bit, in the dark." I feel that this quote explained why coders are "angry." Coding languages are growing in numbers and there is constant tension between the users of one type of coding language (i.e. Python) and users of another type of coding language (i.e. C). The "anger" is an expression of the fear that their language may become less appealing. Biologists, in the same way, are "angry," too. A biologist can do hours, days, and years of field work, data collection, research, experiments, etc., but one day a new discovery can be made that can completely debunk all the time and effort establishing themselves as a biologist. To relate to one of my classes and a field of biology, the concept of phylogenetic trees and the relationships between extant and extinct species of animals, plants, bacteria, fungi, etc., is constantly re-worked as new transitional forms are uncovered or a re-observation of a certain trait done. The idea of change is what makes coders and biologists angry, but its also what drives them in the work that they do.

-- Rlegaspi (talk) 22:27, 28 September 2015 (PDT)

Many folks will agree that Python fits those atypical adjectives that you mention, and this is certainly a contributor to its popularity. I do also feel a certain degree of freedom and flexibility when I write Python code, so I’d say I sense those characteristics firsthand, too.

Like you said, “anger” is more a factor of non-acceptance that things change. It does drive what we do, and as long as we are aware that this is the driving force, then I think there will be less “anger.” I made some statements near the top of this journal page that accepting change can lead to better awareness of what doesn’t change, too. If we gain expertise in that, we can then learn to navigate change more easily.

Dondi (talk) 19:20, 10 October 2015 (PDT)


Kevin Wyllie

  1. Based on what you read here, would you consider sed to be a language? Why or why not?
    • I'm conflicted on this one. After completing the week 4 assignment and using sed in so many different ways, part of me wants to acknowledge it as a language. But the other part of me wants to call it a "verb" in the language that is the command line. Even though sed has a very diverse set of sub-functions, it still only operates on one fundamental principle: find the query and replace it with something else. It all boils down to that, even though you may be able to exploit sed to appear as though it's doing something else. So in the end, I have to say that I see it as a single tool moreso than an expansive system (or again, a "verb" rather than a language).
  2. Of the languages that are skimmed in these sections, which one (in the brief exposure this article gives) appeals to you the most, and why?
    • “Smalltalk gave you an abstraction over all of reality, so you could start dividing the world into classes and methods and the like. Where C tried to make it easier to do computer things, Smalltalk tried to make it easier to do human things…Smalltalk requires one to adopt not just a method of working but also a philosophy of the world, where everything is organized in a hierarchy of classes.”
    • Needless to say I have a very minimal grasp on these computer languages, but I thought SmallTalk sounded in line with how I see and mentally organize my life: layers of subdivisions within a hierarchy. There are a lot lot of stimuli in this world and it can get very overwhelming for me. My first instinct to remedy this anxiety is to categorize and label. If I can see how two things relate (which categories they share) and how they don't relate (at which point in the hierarchy they go their separate ways and fall into different subgroups), this puts my mind at ease. I like putting an informational filter on everything.
  3. Would you agree that coders are “angry?” Are biologists “angry” too? Why do you think so?
    • “Programmers carve out a sliver of cognitive territory for themselves and go to conferences, and yet they know their position is vulnerable. They get defensive when they hear someone suggest that Python is better than Ruby, because [insert 500-comment message thread here]. Is the next great wave swelling somewhere, and will it wash away Java when it comes? Will Go conquer Python? Do I need to learn JavaScript to remain profitable?”
    • I think angriness may be due to a combination of brand loyalty (to a certain language) and being in a field that seems to change quickly, unpredictably and relentlessly. The description of the industry in "Why are Programmers Angry?" just sounds chaotic and stressful. I know that I sure wouldn't do well in that environment. But the field of life sciences also has some elements of chaos. A groundbreaking discovery could be made next week which makes the work I've been doing for 5 years (not literally me, but a hypothetical me who also has a PhD) obsolete. Ultimately, I think the irritability in both of these communities comes from the breakneck level of competition that they foster.

Kwyllie (talk) 23:08, 28 September 2015 (PDT)

In your responses to the first two questions, I see a common theme: layers. You recognized that, depending on your perspective, sed may be a language in itself (a language concerned primarily with search-and-replace, but still a language), or, as you said, it may be merely a verb in another language. In the end I think both perspectives have merit, and they cease to be contradictory when one introduces the idea of different levels subsuming others. This theme emerges as well in terms of what appeals to you about Smalltalk, and that has merit as well. Languages to indeed beget languages: Java is actually written in C, and although I’m less sure of this, Smalltalk’s core is written in C also. Then, on top of that, there is a version of JavaScript that is written in Java! And so forth. The amazing thing is that eventually, parts of a language then become written with itself—i.e., parts of Smalltalk are written in Smalltalk! So not only do we have layers, but we have self-referential layers, where one level is simply a microcosm of itself.

As you can probably see, this carries into biology as well. The chambered nautilus builds itself with progressively larger segments of its shell, but at any given moment the shell appears complete. The branches of a tree keep on branching, and at each branch, when viewed at the right scale you actually can’t tell if you’re looking at a twig or a trunk.

Keep that “layered thinking” going, and I think you’ll encounter further insights as you go along :)

Dondi (talk) 21:37, 10 October 2015 (PDT)

Veronica Pacheco

Based on what you read here, would you consider sed to be a language? Why or why not? Yes, I would consider sed to be a language. In its essence, language is a means of communicating. While reading this I was finding similarities in trying to learn Spanish. Its very specific the way spanish is sometimes. The wrong command is leads to the wrong result. The wrong word or the wrong accent in spanish leads to a completely different sentence. . Coding involves finding the most efficient way to type commands or create programming and I would find the comparable to slang in any language. It's always being updated.

Of the languages that are skimmed in these sections, which one (in the brief exposure this article gives) appeals to you the most, and why? (yes, we are also expecting the biology majors to answer this—no obligation to fully understand the languages nor examples; just share what you like about what you see) I like C. I liked they way it was conveyed as the "sort of a plain-spoken grandfather who grew up trapping beavers and served in several wars but can still do 50 pull-ups". I mean as a super beginner in all of this I wouldn't trust myself using it because it says that it will do everything you tell it and I would probably accidentally crash my computer. However, I do appreciate that Ford described it as simple.


Would you agree that coders are “angry?” Are biologists “angry” too? Why do you think so? (quid pro quo—computer scientists should answer this also, to the degree that you know biology and biologists) What I got from the reading was the coders are angry because someone will always put in their two cents in on whatever it is you are working on as a coder. I feel like I would agree because in any situation that involves personal preference and criticism will result in someone getting angry. For example, if I am working on a project and I use one language but someone comes over to tell me that this other language is better then its in my human nature to get defensive about my choices. However, I almost feel that it's not too much of a problem though because there are so many languages ( ~1700) and all the variation allows for the same job to be handled in different ways. So in the end, the same job can get done but in different ways. I feel that the same applied to biology. I think while doing research, there will be other biologist that say that certain methods are better than others to find the results. I don't think in both cases that is makes them 'angry'. It just makes them human. For both fields, I think efficient and best are often interchangeable but in actuality if two ways lead to the same result then one isn't better than the other. One is just more efficient.

Vpachec3 (talk) 00:22, 29 September 2015 (PDT)

You’ll be surprised how dead-on your scenario of “it’s better to do this in this language vs. that” has been in my experience—or maybe not :) To tie it in with what you said about sed and C, it is true that assorted qualities, like meticulousness, simplicity, power, etc., all come together to create the assorted preferences that programmers express regarding their favorite (or least-favorite) languages. Some languages are what they call “forgiving,” where user error or variance—within limits—are tolerable and remain acceptable. (as you have seen, sed is not one of those languages, haha) In a way, C is like that too, in that it grants the coder a lot of flexibility in how to look at data and how to manipulate it. On the other hand, too much forgiveness can also lead to too little protection…and that is what C is like, also. For all of the flexibility that it grants, it leaves it to you to make sure that you are not abusing or misusing that flexibility. But, like Ford said, when used right, it runs extremely quickly and is in fact fast enough to implement entire other languages (nearly all of the other languages mentioned, like Java, Python, and JavaScript, are themselves written in C). So it’s a tradeoff—power for accountability.

Dondi (talk) 21:43, 10 October 2015 (PDT)