CS 215: Reading Assign on Reasons for Studying PL Concepts

Philippines
November 15, 2007 7:59pm CST
Among the various reasons presented in Sebesta's book for studying PL Concepts, which of these do you consider of compelling benefit to you as a student? Please provide a concise explanation for your choice(s). In your own point of view, why is it useful for a programmer to have some background on language design, even though he or she may never actually design a programming language?
1 person likes this
8 responses
@goodsign (2287)
• Malaysia
16 Nov 07
Hi bong_domingo. It is very useful for a programmer to have some background on language design, certainly to gain broader issues of computer science theory and practice. That is my "concise" or brevity explanation. HAPPY DAPPY.
1 person likes this
@goodsign (2287)
• Malaysia
16 Nov 07
Cheers!!!
• Philippines
16 Nov 07
thank you for your participation Goodsign... i'm still waiting for my students' response. just gave them a reading assignment this morning
1 person likes this
@riveream (111)
• Philippines
18 Nov 07
For me, as a student, there are two most compelling benefit in studying programming language concepts. First, is the better understanding of the significance of implementation. and the second is the increased ability to learn new languages. it is important for me to have a better understanding of the significance of the implementation before increasing my ability to learn new languages. why? it is because so that i can understand more fully of why the languages are designed the way they are; and so that I may be able to construct programming languages the way I want them to be. and lastly to know the ins and outs in the concepts of programming language. This means that if I know or have a better understanding of the advantages and disadvantages on the concepts of the programming language, then I can have a better, more efficient and effective alternative solution in constructing a program. It is also important for me to increased my ability in learning new languages because in learning a new and different programming languages, i have a better advantage in understanding the concepts of the different programming languages. it is also an advantage to learn new languages so that i may be able to know the similarities and the differences, the strength and the weakness of the different programming languages. it is useful for a programmer to have some background on language design because as a programmer, we always deal with it everyday.
1 person likes this
• Philippines
18 Nov 07
thank you for providing a brief reason for your choices. Hopefully we'll be able to tackle them all in our course this semester.
@iryn18 (32)
• Philippines
16 Nov 07
There are various Reasons for Studying Concepts of Programming Languages (PL), among these the most compelling benefit for me as student is to increased the ability to learn new languages. Increased ability to learn new languages. As a student who takes computer science course we need to learn several programming languages for us to know what are the different between each of the programming languages. As we move one year up we encounter another programming language, which we actually don't know yet, but there is relation between the past programming language we took up. For instance, we took up C/C++ last semester then in this semester we have object-oriented programming with Java. In this sense, we know the concepts of C/C++ and we can apply it with Java because this language was based on C/C++. It becomes far easier for us to see how these concepts are incorporated into the design of language being learned than those who are not familiar with C/C++ are. The same phenomenon occurs in natural languages. There is also difficulty in the process of learning new programming language because there are some that is already comfortable with one or two languages and has never examined programming language concept in general. It is better for us to know the concepts of our previous programming language that we know because it is easier for us to learn the next programming language. Learning the second programming language has beneficial side of teaching us more about our first programming language. It is also essential for us students to know the fundamental concepts of programming languages so that we can read and understand programming language manuals and compilers. In my own point of view, it is useful for programmer to have some background on language design because every programmer need to know other programming language. It is one way on how people talk to computer. A programmer should have the ability to know different language design, even if he/she never actually design a programming language so that he/she is not ignorant when facing new language and also broaden his/her knowledge in the computer science world. That's all... Happy weekend... Be happy....
• Philippines
17 Nov 07
i appreciate your succinct answers to the reading assignment. in layman's terms, we go back to my previous example in class - "the learning how to drive" thing, once you know the basics, it will easy for to drive almost any vehicle, you'll just have to learn its specifics...
@bojhe24 (12)
• Philippines
18 Nov 07
As a student, I consider studying all PL concepts as beneficial since I am pursuing to a profession inclined directly to PLs. Such situation requires one(student) to put all concepts in a working relationship with one another. Maybe in the future, students will pursue to become software engineers or maybe PL designers/developers, which all are important I may say. Personally, I see myself in the future as a software engineer. So, let me give you details of each reason of why I'm saying so, a.) Increased capacity to express idea * When students have the enough knowledge of PL concepts such as its constructs, features, functionalities, specialties, and even its method of compilation/debugging, they can easily express ideas among students, comment/argue/question teachers about certain thoughts they want to share --- without talking nonsense (pretending to know something about it) or just sitting around the corner replying "no comment".:D in other words, class participation. b.) Improve background for choosing appropriate languages * At times, teachers allows students to choose their PL of preference for a given programming project (but usually they are of common). Having enough understanding about PL Concepts, students can choose the appropriate PL for their given programming problem. Students can list all the programming requirements and compare it with the PL he/she is known of (he/she has the ability to write codes with such PL). Once the list is done, students can then choose what appropriate PL they can use to solve their given programming project. With this, they can minimize the wasting of resources such as memory, space, and optimize speed as well. It is useless to choose C++ when you can use Java, having Java in mind of its OOP features as well but more interoperability over C++, much secured as well. c.) Increased ability to learn new languages * As an experience, I started with C++ and learning it was terrible hard at first since I do not have any programming background but I know how it works but doesn't know how to write codes. Well, that is at first. Over the "Elementary and Advance Programming" course, I was able to learn new PL in my own pace (self-study). PL has this structure and flow of controls, but different of implementations. But once you know the basics of one PL, you can move and explore around other PLs. d.) Better understanding of the significance of implementations * As I have mentioned earlier, we can optimize our codes knowing each constraints and advancements of each PLs. e.) Increase the ability to design new languages * It's a great reason why studying PL concepts is a must. Personally, I want to do so maybe in the near feature? lol.:D Having learned the foundations of PLs, you can have a strong background and idea how the construction of PLs is done, developing its features, and more so to its tangible and intangible costs when it is already done to solve a specific problem domain. f.) Overall advancement of computing. * Having all these, you can now be called GURU or professionals.:D naks. heheheh
• Philippines
19 Nov 07
i don't know what happened to my last post, but anyway... the reasons for stying programming language concepts are probably obvious, and i's sure learning language design has it's own rewards but for me, such an activity is "purely" typical academia work and has little to no relevance to actual practice (unless of course you are designing one for a living). well, at least any concept learned that harbors outside the bounds of "introductory" or "basic" that is... my apologies to proponents. the reasons for learning PL are outside the scope of this argument, so take this with a huge grain of salt. putting emphasis on the "outcome/product" that is the "design" itself, applying the design goals such as the specific language standards, grammar rules, and language semantics has more weight. true, they are part of the design, but anyone can be blissfully unaware of language design and still be able to learn design goals. so yeah, there is a line separating the architectural engineering and the science of implementation. one could care less for the generalities encompassing PL design. i might be too close minded on this one, but the illusion that learning PL design concepts will help one's potential to adapting or even learning a new language is nothing short of grandiose. without proper understanding of implementation, it's like trying to write poetry with flowery words... sure, the poem might sound nice... but it's expressiveness will angle on auditory aesthetics... and perhaps, nothing more.
1 person likes this
• Philippines
19 Nov 07
i appreciate your intellectual post on the matter Amerei. But implementation details is part of language design.
• Philippines
18 Nov 07
For the last question, it is important programmer to know about language design even though he/she will not be developing new PL. It is an advantage to know language design to easily learn how PL works in the programmer's point-of-view. He/she can optimize codes to meet the PL constraints and limitations.
@leo218 (23)
• Philippines
18 Nov 07
helloo! for me, if we know or learn a lot of programming languages or a little of it, we'll somehow know the right time to used it. Being aware of languages and its features, it will be easy for us(or me) to choose the right and better language to use in a projet.
• Philippines
18 Nov 07
what particular features or related information will be needed for you to choose a better PL?
@leo218 (23)
• Philippines
20 Nov 07
sorry for the late reply ma'am.. For example the one you gave in class.. The String problem, in C++ its very hard to code it while in Java its very easy.. So if our project is more on strings input or process, we might as well choose Java.. Learning that Java has this feature, we have a better choice.. Like I've said earlier if we are aware of programming languages and its features, it will be easy for us to choose the right and better language that are needed in our project..
• Philippines
19 Nov 07
for me as a student, Increased ability to learn new languages is the heaviest reason why i should study programming languages. i choose this reason in the sense that it benefits me most as programming apprentice because i should learn as many programming languages as i can so that i can be more flexible not only on making programming assignments, projects, thesis, but also when i take my steps into the real world. Of course if an employer chooses from a variety of programmers to hire, the employer would chose the one who is most flexible among them. Also i believe that with your ability to learn new programming languages would also follow the other reasons presented by Sebesta's book such as better understanding of significance of implementations of PL's. of course with all the experiences of learning new PL's one should at least be able to understand easily concepts of different PL's; we can also expect improvement of our background on PL's that we can easily choose which is the appropriate language for a particular problem and of course follows our capacity to express our ideas through the programming languages. Therefore in my opinion i would benefit most from the ability to easily learn new programming languages. as for the other question, having to have some background on language design is quite much important even if one may never actually design a program language because if we end up in an IT firm or any position in a company, it cannot be avoided that we will be eventually be using a program. to better understand, our work, we will need to of course, at least understand how the program works that we may be able to do our work better. Also, take for example what if you apply for a job in an IT firm and you'd be given the position of a systems analyst? or a position that sells IT products, how can you perform your work well if you do not have any background on programming?
• Philippines
19 Nov 07
As a student in studying the programming language concept it increases our vocabulary it means it increases our capabilities to understanding or interpreting programming codes better. It increase the background of a student for choosing appropriate language for a certain programming language every pl has its own strengths and weaknesses. It increase the ability to learn new languages. studying pl can help us learn new programming languages alot faster. All programs has similarities the algorithm is still the same the only difference is that the keywords used or syntax. Increased ability to design new languages.Studying pl concept can give us one of the foundations so that we may create our own programming language with its own strength and weakness depending on the type of programming language that we are going to make. Overall having some background on language design can make us a more efficient programmer.^,^
@paulit03 (93)
• Philippines
17 Nov 07
upon reading the book of sebesta about pl concepts. i have considered improving background for choosing appropriate languages and increased the ability to learn new languages as the compelled benefit.why? it is because it is true. upon now a days many languages were created and in companies boss hired programmers to do some applications for them. then it is easy for us to understand the right language to the right applications and upon learning new languages we could use them in the applications. it is very useful for a programmer to have some background on language design to know the advantages and the disadvantages to each programming languages.