Programming Languages: What Software Engineers Speak
What is a program? It is a set of instructions that tells a computer what to do. It can be an independent instruction or it can be one which is based on a previous instruction. Since the languages we use as humans are too complex for a machine to understand, instructions or commands are written in languages designed for this purpose. There are different kinds of programming languages like assembly languages, interpreted languages, compiler languages, list-based languages, machine languages, procedural languages and scripting languages. Assembly language is one that directly addresses the machine through a language which allows programmers to use symbolic addresses, which the assembler then converts to an absolute address. Interpreted languages are programming languages in which programs are executed from the source code format by an interpreter. Any language that is not compiled but interpreted is an interpreted language. Any language that is processed by a compiler is called a compiler language. Machine languages are directly executed by the central processing unit (CPU) of a computer.
Usually represented in bit patterns (octal or hexadecimal), each pattern is a reference to a circuit in the CPU through specific electrical inputs. Procedural languages are based on the scope of the data variable, function, method or routine. Colleges mainly incorporate C/C++ and Core Java in their syllabuses, but for a project or further study, you may need to take up additional courses. You can even take certifications, like the Oracle Java SE 7 certification. Anyone is eligible for these courses. Generally, college students join them for help with project work, but many working professionals also enroll to enrich themselves in this field and to keep up with technology. Course duration can vary from as short as three months to as long as one year. Certification courses can be helpful since they bestow acknowledgment from a recognized body.
Website development, administration, game development, software programming and app development are fields you can apply to after pursuing these courses. You can also become an educator of programming languages in institutes or colleges.
Topics covered in programming
In programming courses, you may learn the basics of programming logic, starting with the building blocks like data types, operators, switch and if-else statements. Loop implementation, array handling, pointers, classes, functions, methods, abstract classes, the concept of inheritance, dynamic memory allocation, garbage collection, stacks, heaps and structures are some concepts which are very similar, but for which implementation varies depending on the language. Programming languages are very similar, and each has its own set of disadvantages and advantages. Some are platform independent and some depend on the platform they are running on. Some are lightweight and some are heavy. Some execute faster, while some take longer to execute.
Institutes offering the courses in programming languages
Some institutes that offer courses in programming languages are listed below:
- Aptech Computer Education, Mumbai (multiple centres)
- Center for Development of Advanced Computing (multiple centres)
- G-Tec Education (multiple centres)
- MICT Computer Education Pvt. Ltd, Thane, Mumbai
- NIIT Edgeineers, Gurgaon
- P Technologies, Dehradun
- Rajesh Patkar Institute of Software Engineering (multiple centres)
Programmes are subject to change, it is advisable to check directly with a school for current programme availability.
"10 Programming Languages You Should Learn Right Now," eWeek, Deborah Rothberg, 15 September, 2006, http://www.eweek.com/c/a/IT-Management/10-Programming-Languages-You-Should-Learn-Right-Now/
"C-DAC: Centre for Development of Advanced Computing," C-DAC, http://cdac.in/
"Courses," MICT, http://www.mict.in/courses.html
"Courses," Rajesh Patkar Institute of Software Engineering, http://www.rajeshpatkar.com/
"Courses/Programmes," P Technologies, http://www.ptechnologies.in/courses-programmes/
"Curriculum Edge," NIIT, http://www.niit.com/sites/Edgeineers/pages/program_curriculam.aspx
"G-Course Finder," G-Tec Education, http://www.gteceducation.com/coursefinder.php
"Introduction to Programming," Free BSD, http://www.freebsd.org/doc/en/books/developers-handbook/tools-programming.html
"Programming Language," Webopedia, http://www.webopedia.com/TERM/P/programming_language.html
"Programming Languages," Kioskea, http://en.kioskea.net/contents/315-programming-languages
"Short-Term Courses," Aptech Education, http://www.aptech-education.com/courses-programming-languages.aspx
"The Tower of Babel -- A Comparison Programming Languages," Eric Suh, C Programming, http://www.cprogramming.com/langs.html
"Types of Programming Languages," Loyala Marymount University, http://cs.lmu.edu/~ray/notes/pltypes/
"Types of Programming Languages," Global Information Assurance Certification, Jim Hurst, http://www.giac.org/cissp-papers/97.pdf