Tuesday, 18 September 2018

PROGRAMMING

Today in class, we are going to learn about computer programming.

Definition of programming from wikipedia is,
Computer programming is the process of designing and building an executable computer program for accomplishing a specific computing task. Programming involves tasks such as analysis, generating algorithms, profiling algorithms' accuracy and resource consumption, and the implementation of algorithms in a chosen programming language (commonly referred to as coding). The source code of a program is written in one or more programming languages. The purpose of programming is to find a sequence of instructions that will automate the performance of a task for solving a given problem. The process of programming thus often requires expertise in several different subjects, including knowledge of the application domain, specialized algorithms, and formal logic.
Related tasks include testingdebugging, maintaining a program's source code, implementation of build systems, and management of derived artifacts such as machine code of computer programs. These might be considered part of the programming process, but often the term software development is used for this larger process with the term programming, implementation, or coding reserved for the actual writing of source code. Software engineering combines engineering techniques with software development practices.

also from wikipedia, programming language is defined as :
programming language is a formal language which comprises a set of instructions used to produce various kinds of output. Programming languages are used to create programs that implement specific algorithms.
Most programming languages consist of instructions for computers, although there are programmable machines that use a limited set of specific instructions, rather than the general programming languages of modern computers. Early ones preceded the invention of the digital computer, the first probably being the automatic flute player described in the 9th century by the brothers Musa in Baghdad, during the Islamic Golden Age.[1]From the early 1800s, programs were used to direct the behavior of machines such as Jacquard loomsmusic boxes and player pianos.[2] However, their programs (such as a player piano's scrolls) could not produce different behavior in response to some input or condition.
Thousands of different programming languages have been created, mainly in the computer field, and many more still are being created every year. Many programming languages require computation to be specified in an imperative form (i.e., as a sequence of operations to perform) while other languages use other forms of program specification such as the declarative form (i.e. the desired result is specified, not how to achieve it).
The description of a programming language is usually split into the two components of syntax (form) and semantics (meaning). Some languages are defined by a specification document (for example, the Cprogramming language is specified by an ISO Standard) while other languages (such as Perl) have a dominant implementation that is treated as a reference. Some languages have both, with the basic language defined by a standard and extensions taken from the dominant implementation being common.

according to Nikhil Abraham, from the book "Coding For Dummies", 
Code comes in different flavors called programming languages. Some popular programing languages are shown in the following figure. You can think of programming languages just like spoken languages, as they both share many of the same characteristics, such as:
  • Functionality across languages: Programming languages can all create the same functionality similar to how spoken languages can all express the same objects, phrases, and emotions.
  • Syntax and structure: Commands in programming languages can overlap just like words in spoken languages overlap. To output text to screen in Python or Ruby you use the print command, just like imprimer and imprimir are the verbs for “print” in French and Spanish.
  • Natural lifespan: Programming languages are born when a programmer thinks of a new or easier way to express a computational concept. If other programmers agree, they adopt the language for their own programs and the programming language spreads. However, just like Latin or Aramaic, if the programming language is not adopted by other programmers or a better language comes along, then the programming language slowly dies from lack of use. 
Despite these similarities, programming languages also differ from spoken languages in a few key ways:
  • One creator: Unlike spoken languages, programming languages can be created by one person in a short period of time, sometimes in just a few days. Popular languages with a single creator include JavaScript (Brendan Eich), Python (Guido van Rossum), and Ruby (Yukihiro Matsumoto).
  • Written in English: Unlike spoken languages (except, of course, English), almost all programming languages are written in English. Whether they’re programming in HTML, JavaScript, Python, or Ruby, Brazilian, French, or Chinese programmers all use the same English keywords and syntax in their code. Some non-English programming languages exist, such as languages in Hindi or Arabic, but none of these languages are widespread or mainstream.

COMPARING LOW-LEVEL AND HIGH-LEVEL PROGRAMMING LANGUAGES

One way to classify programming languages is either as low-level languages or high-level languages. Low-level languages interact directly with the computer processor or CPU, are capable of performing very basic commands, and are generally hard to read. Machine code, one example of a low-level language, uses code that consists of just two numbers — 0 and 1.
The figure shows an example of machine code. Assembly language, another low-level language, uses keywords to perform basic commands like read data, move data, and store data.
image1.jpg
By contrast, high-level languages use natural language so it is easier for people to read and write. Once code is written in a high-level language, like C++, Python, or Ruby, an interpreter or compiler translates this high-level language into low-level code a computer can understand.





JAVA PROGRAMMING LANGUAGE 
Java programming language logo.svg

From wikipedia,
The original and reference implementation Java compilers, virtual machines, and class libraries were originally released by Sun under proprietary licenses. As of May 2007, in compliance with the specifications of the Java Community Process, Sun relicensed most of its Java technologies under the GNU General Public License. Others have also developed alternative implementations of these Sun technologies, such as the GNU Compiler for Java (bytecode compiler), GNU Classpath (standard libraries), and IcedTea-Web (browser plugin for applets).
The latest version is Java 10, released on March 20, 2018,[23] which follows Java 9 after only six months[24] in line with the new release schedule. Java 8 is still supported but there will be no more security updates for Java 9.[25] Versions earlier than Java 8 are supported by companies on a commercial basis; e.g. by Oracle back to Java 6 as of October 2017 (while they still "highly recommend that you uninstall"[26] pre-Java 8 from at least Windows computers)

There were five primary goals in the creation of the Java language:[17]
  1. It must be "simple, object-oriented, and familiar".
  2. It must be "robust and secure".
  3. It must be "architecture-neutral and portable".
  4. It must execute with "high performance".
  5. It must be "interpreted, threaded, and dynamic".

evolution of Java logos


from Techopedia,

online file sharing is a service that allows you to upload files such as images, documents, audio and video to the cloud and access them whenever and wherever you want. File sharing services can be meant for all types of files or specific types of files. For example, sites like Picasa and Flickr store only images, while Dropboxprovides storage for almost all types of files. You can access your files via desktop, laptop, tablet or smartphone. You can also provide access to the uploaded files to people who do not own the content.


Criteria for Choosing Programming Languages

An online file sharing service is a complex system. Though almost any programming language should be suitable to build an online file sharing service, your unique requirements should govern your choice of languages. For example, you could build a no-frills system with basic features and minimum exposure through an interface, or you could build a big and comprehensive system with a complex architecture, many different features, interfaces and a more robust user experience. Some things you may want to look for in a language include:
  • Language with cross-platform compatibility, unless specifications and requirements dictate otherwise
  • Language compatible with third-party plug-ins, libraries and frameworks because they make developmental work easier
  • Languages with an easy learning curve
  • If the software is going to have a web presence, which it ideally should, choose proven languages like HTML and JavaScript, because the latter is fast and efficient with server transactions.

Server-End Languages

Broadly, server-end languages are responsible for implementing the software architecture, communicating with the server and database, security and overall algorithm or logic.

Java and Python

Both languages, unless the software will not have a web presence, should be an automatic choice because of a large developer and tester community support base, availability of third-party libraries and frameworks, and compatibility with many different third-party plug-ins. With both languages, you do not need to convert them to assembly language before implementing the code, which saves time. Developing an online file sharing system is no small task, and the features mentioned above can come in very handy. If your online file system has web and mobile interfaces, then there are few languages that are better than Java and Python. Python is relatively simpler to learn, but Java is still a bit more comprehensive. 






REFERENCE:
https://www.dummies.com/programming/the-types-of-programming-languages/
https://en.wikipedia.org/wiki/Computer_programming
https://en.wikipedia.org/wiki/Programming_language
https://www.google.com/search?q=types+of+programming+languages&source=lnms&tbm=isch&sa=X&ved=0ahUKEwiqj_mfi8bdAhXEP48KHZm2AqIQ_AUIDigB&biw=1366&bih=623
https://en.wikipedia.org/wiki/Java_(programming_language)
https://www.altexsoft.com/blog/engineering/pros-and-cons-of-java-programming/
https://www.techopedia.com/the-programming-languages-behind-online-file-sharing/2/25668

No comments:

Post a Comment

its been a while =3

hmmmmmmmm just want to sayy im now furthering my studies in UiTM Shah Alam =3 huhu my course is Multimedia Computing im hoping to be ab...