Hellooo everyone, in my first day of uni life, the lecturer of this class, Tri Djoko Wahjono, Ir.,M.Sc. , ask us to post our project on our blog. Not an easy job for me since my english is really not good and i’m used to use slang and shortened english =_=
Anyway, the questions are taken from Robert W. Sebesta’s book named CONCEPTS OF PROGRAMMING LANGUAGES. Hope i can answer these questions correctly and properly +_+! And since i’m really new to things called programming i might google the answer and give my opinion and conclusion on what i found :D
Okay .. The first 5 questions are taken from the REVIEW QUESTION:
1. Why is it useful for a programmer to have some background in language design, even though he or she may never actually design a programming language?
In the textbook, reasons to learn language designs are to:
• Increased capacity to express ideas.
• Improved background for choosing appropriate languages.
• Increased ability to learn new languages.
• Better understanding of the significance of implementation.
• Better use of languages that are already known.
• Overall advancement of computing.
In my opinion,
A background in language design gives a programmer insight into how a compiler works, and gives the programmer ability to understand how to optimise the compilers. Even though they will never actually design a programming language, but maybe only work as a programmer who take care of a program, they still need to know the language design (Which has many type of language in programming like Java, C, C++, C#, etc) especially the basic one, in order to understand. Like, if suddenly the program got problem, they can easily understand the issues and solve it fast using efficient code (because every programming language has it own purpose so choosing the correct language can make us work more efficient and fast).
2. How can knowledge of programming language characteristics benefit the whole computing community?
Of course if we only know 1 programming language, our ideas are limited compared if we know 5 programming language. Working in community will also require us to be flexible (Who knows our community suddenly want to use which programming language and suddenly only us who don’t know the language).
By knowing programming language characteristics also help us to identify the issue easier and allow us to choose which programming language is more suitable for which issue.
3. What programming language has dominated scientific computing over the past 50 years?
FORTRAN. For some scientific applications where the important thing is efficiency, no subsequent language is significantly better than Fortran, which is why nowadays FORTRAN is still used.
4. What programming language has dominated business applications over the past 50 years?
COBOL. COBOL was the first successful high-level language for business. And it is still being developed until now. COBOL has facilities for producing elaborate reports, precise ways of describing and storing decimal numbers and character data, and the ability to specify decimal arithmetic operations.
5. What programming language has dominated artificial intelligence over the past 50 years?
LISP. Its the first programming language for artificial intelligence
1. Do you believe our capacity for abstract thought is influenced by our language skills? Support your opinion.
From the textbook, abstraction means the ability to define and then use complicated structures or operations in ways that allow many of the details to be ignored. Abstraction is a key concept in contemporary programming language design.The degree of abstraction allowed by a program- ming language and the naturalness of its expression are therefore important to its writability. Programming languages can support two distinct categories of abstraction, process and data.
And in my opinion, i do believe our capacity for abstract thought is influenced by our language skills because when you learned some programming languages, it will help you to improve your brain capacity for abstract thought naturally, because we can’t learn programming languages without using our capacity for abstract thought.
2. What are some features of specific programming languages you know whose rationales are a mystery to you?
Since i’m new to programming field and just started to learn C language, almost all C language features still are mystery for me.
3. What arguments can you make for the idea of a single language for all programming domains?
The idea of using a single language for all programming domains is not effective. Why? Because each of programming language has its own purpose of making so maybe domain A will be more effective if we use C language while domain B is more suitable to use Java. I think its possible for us to make any programming domains only by using a single language but the level of complexity will be higher. Not all features are available in one programming language, which we will find it hard if we need that features in some programming domains. For example, if we use LISP (for Artificial intelligence) to make business application, sure hard.
4. What arguments can you make against the idea of a single language for all programming domains?
(same question and same answer with number 3)
5. Name and explain another criterion by which languages can be judged (in addition to those discussed in this chapter).
The lenght of the words that is needed (or syntax) to make one features. For example that i found on google is COBOL, they called it wordy because it needs many words and declarations just for making a simple program. This, have many disadvantages like hard to read, bigger size of programs, and takes times to create the program.
Thats all for this first task, thankyou ^_^
Kesia Anastashella / 1801436713 / LC02