The Full Wiki

Computer programming: Wikis

  
  
  

Did you know ...


More interesting facts on Computer programming

Include this on your site/blog:

Encyclopedia

From Wikipedia, the free encyclopedia

Software development process
Activities and steps
Requirements · Specification
Architecture · Design
Implementation · Testing
Deployment · Maintenance
Models
Agile · Cleanroom · DSDM
Iterative · RAD  · RUP  · Spiral
Waterfall · XP · Scrum  · Lean
V-Model  · FDD  · TDD
Supporting disciplines
Configuration management
Documentation
Quality assurance (SQA)
Project management
User experience design
Tools
Compiler  · Debugger  · Profiler
GUI designer
Integrated development environment
.Computer programming (often shortened to programming or coding) is the process of writing, testing, debugging/troubleshooting, and maintaining the source code of computer programs.^ Programmers who were taught to write quality code and who told bosses who wanted quantity over quality to get lost often lost their jobs.
  • Technology Review: The Problem with Programming 3 February 2010 17:34 UTC www.technologyreview.com [Source type: FILTERED WITH BAYES]

^ One of the things my team has been working to enable has been the ability for .NET developers to download and browse the source code of the .NET Framework libraries, and to easily enable debugging support in them.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ TestFloat - John Hauser "A program for testing whether a computer's floating-point conforms to the IEC/IEEE Standard for Binary Floating-point Arithmetic."
  • Programming Texts/Tutorials 3 February 2010 17:34 UTC stommel.tamu.edu [Source type: Academic]

.This source code is written in a programming language.^ See more at source code , See also programming language .
  • Programming | Definition of Programming at Dictionary.com: 3 February 2010 17:34 UTC dictionary.reference.com [Source type: Reference]

^ MetalShell Source code examples in several different programming languages.
  • Computer Programming Languages in the Yahoo! Directory 3 February 2010 17:34 UTC dir.yahoo.com [Source type: Reference]

^ Free source code and programs on site...
  • Computer Programming Services: Providers and Solutions | Business.com 10 February 2010 13:40 UTC www.business.com [Source type: Reference]

.The code may be a modification of an existing source or something completely new.^ This code may be a modification of existing source or something completely new.
  • Computer Software, Programming Language, Anti virus Software, Software Library. 10 February 2010 13:40 UTC onlineinfonow.com [Source type: Reference]

^ The code may be a modification of an existing source or something completely new.
  • Computer programming 10 February 2010 13:40 UTC www.inhand.com [Source type: General]

^ It must be emphasized that papers describing new software tools of relevance to SCP are welcome under the strict condition that the source code of the tools is open.
  • Science of Computer Programming - Elsevier 10 February 2010 13:40 UTC www.elsevier.com [Source type: Academic]

.The purpose of programming is to create a program that exhibits a certain desired behaviour (customization).^ He made other similarly stupid decisions like creating a custom programming interface for BASIC in Excel instead of sharing a common interface as strongly recommended.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

.The process of writing source code often requires expertise in many different subjects, including knowledge of the application domain, specialized algorithms and formal logic.^ Recently, I had to write some code at work which spoke to a JSON-based Web service and struggled with how to deal with the fact that C# requires me to define the class of an object up front before I can use it in my application.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ Programmers who were taught to write quality code and who told bosses who wanted quantity over quality to get lost often lost their jobs.
  • Technology Review: The Problem with Programming 3 February 2010 17:34 UTC www.technologyreview.com [Source type: FILTERED WITH BAYES]

^ I offer a training curriculum for the instruction of programmable logic controllers including the application, design, installation, programming and service of these devices.
  • Programming - Training Seminars, Resources and Workshops 3 February 2010 17:34 UTC www.training-classes.com [Source type: General]

Contents

Overview

.Within software engineering, programming (the implementation) is regarded as one phase in a software development process.^ The urge the reduce the complexity of the tools used to solve software problems is one that every software developer should share.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ Re: Living in denial No, software developers (from novice to pro) are the single largest cause of programming disasters ever invented.
  • Technology Review: The Problem with Programming 3 February 2010 17:34 UTC www.technologyreview.com [Source type: FILTERED WITH BAYES]

^ She's not even a software engineer, so extra credit for being a marketing manager and learning to program games on an atari 800 for your kid.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

.There is an ongoing debate on the extent to which the writing of programs is an art, a craft or an engineering discipline.^ I was always frustrated that there was no possible way I could write a decent program like the ones you could load from disk.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ The ability for the user to write a program that downloads the contents of a web page and then process that as information, or the ability to read RSS feeds as data would get us partway there.

[1] .In general, good programming is considered to be the measured application of all three, with the goal of producing an efficient and evolvable software solution (the criteria for "efficient" and "evolvable" vary considerably).^ Besides undertaking development for various business domains, We also provide a specialist software solution for requirements in Various industry.
  • Programming - Training Seminars, Resources and Workshops 3 February 2010 17:34 UTC www.training-classes.com [Source type: General]

^ This includes various solutions as school software, hotel software sales inventory software, with computers with programming skills, complete Hospital Management System ( HMS ) more...
  • Programming - Training Seminars, Resources and Workshops 3 February 2010 17:34 UTC www.training-classes.com [Source type: General]

^ This includes various solutions as school software, hotel software sales inventory software, with computers with programming skills, completetraining program in various software more...
  • Programming - Training Seminars, Resources and Workshops 3 February 2010 17:34 UTC www.training-classes.com [Source type: General]

The discipline differs from many other technical professions in that programmers, in general, do not need to be licensed or pass any standardized (or governmentally regulated) certification tests in order to call themselves "programmers" or even "software engineers." However, representing oneself as a "Professional Software Engineer" without a license from an accredited institution is illegal in many parts of the world..May 2009" style="white-space:nowrap;">[citation needed] However, because the discipline covers many areas, which may or may not include critical applications, it is debatable whether licensing is required for the profession as a whole.^ However this doesn’t work because the compiler cannot determine whether each of the lambda expressions that can be returned by the conditional expression are of the same type.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ However, because I was creating a template that didn't know enough at compile time to write a proper LINQ query that could, well, compile, I needed to creating my LINQ… .

^ But FORTRAN still is faster than C for many applications, mainly because its compiler doesn't have to reason about pointer aliasing.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

.In most cases, the discipline is self-governed by the entities which require the programming, and sometimes very strict environments are defined (e.g.^ In most cases this makes programs harder to read, understand, and maintain.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ In very little code the author has created an interactive programming environment.

United States Air Force use of AdaCore and security clearance).
.Another ongoing debate is the extent to which the programming language used in writing computer programs affects the form that the final program takes.^ Perl (Computer program language) .
  • Fermilab Library Book Catalog 10 February 2010 13:40 UTC www-spires.fnal.gov [Source type: General]

^ We write WITH a programming language, and not IN a programming language.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ Clearly this is not a useful programming language, right?

.This debate is analogous to that surrounding the Sapir-Whorf hypothesis [2] in linguistics, that postulates that a particular language's nature influences the habitual thought of its speakers.^ Hmm on April 22, 2008 3:36 AM Let me introduce you to the Sapir-Whorf hypothesis: http://en.wikipedia.org/wiki/Sapir-Whorf_hypothesis .
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

Different language patterns yield different patterns of thought. .This idea challenges the possibility of representing the world perfectly with language, because it acknowledges that the mechanisms of any language condition the thoughts of its speaker community.^ Phil Haack talks about his ideas behind helping/saving the open source community and laid down a challenge.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

.Said another way, programming is the craft of transforming requirements into something that a computer can execute.^ Computer programming is the art of turning ideas and concepts into a language that a machine can understand and execute.
  • Computer Programming (C++, Java, Visual Basic) Training & Certification 10 February 2010 13:40 UTC www.guidetocareereducation.com [Source type: General]

^ We are also into training for CISSP , CISA , Database Management, All Programming Languages, Basic Computer Knowledge and much more...
  • Programming - Training Seminars, Resources and Workshops 3 February 2010 17:34 UTC www.training-classes.com [Source type: General]

^ How to Restart from Windows Millennium into Windows 98 DOS Mode - (8/00) Another method for booting into DOS from ME that requires a copy of Windows 98.
  • Programming Texts/Tutorials 3 February 2010 17:34 UTC stommel.tamu.edu [Source type: Academic]

History of programming

Wired plug board for an IBM 402 Accounting Machine.
The concept of devices that operate following a pre-defined set of instructions traces back to Greek Mythology, notably Hephaestus and his mechanical slaves.[3] The Antikythera mechanism was a calculator utilizing gears of various sizes and configuration to determine its operation. .The earliest known programmable machines (machines whose behavior can be controlled and predicted with a set of instructions) were Al-Jazari's programmable Automata in 1206.[4] One of Al-Jazari's robots was originally a boat with four automatic musicians that floated on a lake to entertain guests at royal drinking parties.^ I offer a training curriculum for the instruction of programmable logic controllers including the application, design, installation, programming and service of these devices.
  • Programming - Training Seminars, Resources and Workshops 3 February 2010 17:34 UTC www.training-classes.com [Source type: General]

^ XDR "A set of library routines that enable C programmers to describe arbitrary data structures in a machine-independent way."
  • Programming Texts/Tutorials 3 February 2010 17:34 UTC stommel.tamu.edu [Source type: Academic]

^ Last night at Beau's party, one of Beau's guests mentioned he's expecting twins shortly, which is why is wife wasn't at the party.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

Programming this mechanism's behavior meant placing pegs and cams into a wooden drum at specific locations. These would then bump into little levers that operate a percussion instrument. The output of this device was a small drummer playing various rhythms and drum patterns.[5][6] .Another sophisticated programmable machine by Al-Jazari was the castle clock, notable for its concept of variables, which the operator could manipulate as necessary (i.e., the length of day and night).^ One could try extending the language with string variables, add graphics support, or build a programmable robot battle game on top of it.

The Jacquard Loom, which Joseph Marie Jacquard developed in 1801, uses a series of pasteboard cards with holes punched in them. .The hole pattern represented the pattern that the loom had to follow in weaving cloth.^ Babbage saw that the pattern of holes could be used to represent an abstract idea such as a problem statement or the raw data required for that problem's solution.

.The loom could produce entirely different weaves using different sets of cards.^ Complicated analyses, too involved to be accomplished during a single pass thru the cards, could be accomplished via multiple passes thru the cards using newly printed cards to remember the intermediate results.

^ Because of the connection to the Jacquard loom, Babbage called the two main parts of his Analytic Engine the "Store" and the "Mill", as both terms are used in the weaving industry.

^ PCMCIA Wireless Cards (802.11b) and Linux WIFI and the Penguin: Setting Up 802.11b Under Linux Using SSH Tunneling (with 802.11b) - Rob Flickenger (Feb.
  • Programming Texts/Tutorials 3 February 2010 17:34 UTC stommel.tamu.edu [Source type: Academic]

.Charles Babbage adopted the use of punched cards around 1830 to control his Analytical Engine.^ Compare the amount of money it would take to develop a silicon chip that becomes widely used to the amount of money it takes to develop a Linux device driver that is adopted by users around the world.
  • Technology Review: The Problem with Programming 3 February 2010 17:34 UTC www.technologyreview.com [Source type: FILTERED WITH BAYES]

.The synthesis of numerical calculation, predetermined operation and output, along with a way to organize and input instructions in a manner relatively easy for humans to conceive and produce, led to the modern development of computer programming.^ Open to inquiries about our Train-the-Trainer Program , Technology Instructor-led Training , IT Application Development , REL and eLearning and Training Projects .
  • Programming - Training Seminars, Resources and Workshops 3 February 2010 17:34 UTC www.training-classes.com [Source type: General]

^ He suggested instead that beginners learn C. I responded that C is a fine language for many purposes (like operating system development), but that it contains too many difficulties that are not fundamentally related to learning programming.

^ Trying to find a BASIC interpreter on the net is getting harder and harder and I wish that there was an easy way for kids to learn about computer programming, because without that little laptop I probably wouldn't be programming today.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

.Development of computer programming accelerated through the Industrial Revolution.^ We have the best teacher, who r from the IT Industry guiding/ helping students in the developing programming as well more...
  • Programming - Training Seminars, Resources and Workshops 3 February 2010 17:34 UTC www.training-classes.com [Source type: General]

^ Computer Consultants Corporation ..., we provide IT training, from basic office automation to programming, web development, graphic design, and networking tools.
  • Programming - Training Seminars, Resources and Workshops 3 February 2010 17:34 UTC www.training-classes.com [Source type: General]

^ Administrative Support , Computer Platforms , Database Development , Marketing / Promotion , Programming .
  • Programming: Jobs Related to Programming. 3 February 2010 17:34 UTC www.getacoder.com [Source type: General]

In the late 1880s, Herman Hollerith invented the recording of data on a medium that could then be read by a machine. .Prior uses of machine readable media, above, had been for control, not data.^ You can use SQL Server Management Studio to look at your data in Table Storage on your local machine but there isn't a similar experience in the cloud.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

"After some initial trials with paper tape, he settled on punched cards..."[7] To process these punched cards, first known as "Hollerith cards" he invented the tabulator, and the key punch machines. These three inventions were the foundation of the modern information processing industry. In 1896 he founded the Tabulating Machine Company (which later became the core of IBM). .The addition of a control panel to his 1906 Type I Tabulator allowed it to do different jobs without having to be physically rebuilt.^ Extension methods allow developers to add new methods to the public contract of an existing CLR type, without having to sub-class it or recompile the original type.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

.By the late 1940s, there were a variety of plug-board programmable machines, called unit record equipment, to perform data-processing tasks (card reading).^ (Again my personal experience shows in at least two project that I can beat C++ performance, even for atypical tasks like parsing and interpreting huge binary data recordings in Python.
  • Technology Review: The Problem with Programming 3 February 2010 17:34 UTC www.technologyreview.com [Source type: FILTERED WITH BAYES]

^ XDR "A set of library routines that enable C programmers to describe arbitrary data structures in a machine-independent way."
  • Programming Texts/Tutorials 3 February 2010 17:34 UTC stommel.tamu.edu [Source type: Academic]

^ The ability for the user to write a program that downloads the contents of a web page and then process that as information, or the ability to read RSS feeds as data would get us partway there.

.Early computer programmers used plug-boards for the variety of complex calculations requested of the newly invented machines.^ C++ remains the archetypal "high level" computer language (that is, one that preserves the features of natural, human language), and it is still used by millions of programmers.
  • Technology Review: The Problem with Programming 3 February 2010 17:34 UTC www.technologyreview.com [Source type: FILTERED WITH BAYES]

^ All current computers are Turing machines using Boolean Algebra and higher Algebras at higher levels of abstraction.
  • Technology Review: The Problem with Programming 3 February 2010 17:34 UTC www.technologyreview.com [Source type: FILTERED WITH BAYES]

^ Re: Ignoring computer science One question that hasn't been raised is that to be an adequate (let alone good) programmer, one has to be idiomatic in the programming language one is using.
  • Technology Review: The Problem with Programming 3 February 2010 17:34 UTC www.technologyreview.com [Source type: FILTERED WITH BAYES]

Data and instructions could be stored on external punch cards, which were kept in order and arranged in program decks.
The invention of the Von Neumann architecture allowed computer programs to be stored in computer memory. .Early programs had to be painstakingly crafted using the instructions of the particular machine, often in binary notation.^ Changing the value of a magic number is error-prone, because the same value is often used several times in different places within a program It facilitates parameterization.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ Visual C Express programming concepts are taught while providing detailed step-by-step instructions in building many fun and useful projects.
  • Programming - Training Seminars, Resources and Workshops 3 February 2010 17:34 UTC www.training-classes.com [Source type: General]

^ Once you learn the principles of programming (or of a particular methodology), it's easy to transpose those ideas into whatever future project or language you choose to use.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

.Every model of computer would be likely to need different instructions to do the same task.^ A complete programming language includes components like, the computational model, the syntax and semantics of programs, and the other pragmatic considerations that shape the language.
  • Computer programming information - Online Degrees, Careers & Schools 3 February 2010 17:34 UTC www.unixl.com [Source type: Academic]

^ In addition, most programming languages have a set of written documentation or instructions for the computer on syntax and semantics as computers need very specific instructions on how to process code.
  • Computer Programming Links 10 February 2010 13:40 UTC www.merchantos.com [Source type: Reference]

^ The present day computer languages are immensely capable in making the computer perform varied tasks in fields like art, engineering, medical science etc.
  • Computer programming information - Online Degrees, Careers & Schools 3 February 2010 17:34 UTC www.unixl.com [Source type: Academic]

.Later assembly languages were developed that let the programmer specify each instruction in a text format, entering abbreviations for each operation code instead of a number and specifying addresses in symbolic form (e.g., ADD X, TOTAL).^ It specifies number formats, basic operations, conversions, and exceptional conditions.
  • Programming Texts/Tutorials 3 February 2010 17:34 UTC stommel.tamu.edu [Source type: Academic]

^ A bad programmer will be bad in any language, but that is less true for average developers and some languages.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ He suggested instead that beginners learn C. I responded that C is a fine language for many purposes (like operating system development), but that it contains too many difficulties that are not fundamentally related to learning programming.

.In 1954 Fortran was invented, being the first high level programming language to have a functional implementation.^ The default sort functions in almost every programming language are poorly suited for human consumption .
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ He came up with a challenge to see how others would implement a trivial web program in their favorite language.

^ Modula3 for a high-level language that supports all the lowlevel manipulations needed for operating system stuff in a sane way.
  • Technology Review: The Problem with Programming 3 February 2010 17:34 UTC www.technologyreview.com [Source type: FILTERED WITH BAYES]

[8][9] It allowed programmers to specify calculations by entering a formula directly (e.g. Y = X*2 + 5*X + 9). .The program text, or source, is converted into machine instructions using a special program called a compiler.^ Visual C Express programming concepts are taught while providing detailed step-by-step instructions in building many fun and useful projects.
  • Programming - Training Seminars, Resources and Workshops 3 February 2010 17:34 UTC www.training-classes.com [Source type: General]

^ Once you learn the principles of programming (or of a particular methodology), it's easy to transpose those ideas into whatever future project or language you choose to use.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ Here's an interesting example of the perfect use for BASIC. If you're into laser tag and programming this may be your ticket.

.Many other languages were developed, including some for commercial programming, such as COBOL.^ No HTML or other programming languages.
  • Programming - Training Seminars, Resources and Workshops 3 February 2010 17:34 UTC www.training-classes.com [Source type: General]

^ Run BASIC is a web programming system in development, and a really important part of what Scott McLaughlin and I are trying to do is to manage how the language grows.

^ Like many others I have started programming in Basic on ZX Spectrum.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

.Programs were mostly still entered using punch cards or paper tape.^ The only thing I ever really used it for was writing programs that would play little songs I'd write in BASIC. I still hum one of my mutant compositions to this day.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ My first programs were entered in octal machine code from the front panel keypad until I could afford a serial I/O card kit.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

(See computer programming in the punch card era). .By the late 1960s, data storage devices and computer terminals became inexpensive enough so programs could be created by typing directly into the computers.^ So your plea for some kind of early camera input system into computers is beside the point, all the information would have to be transformed into a symbolic representation to perform any type of computation on the data.
  • Technology Review: The Problem with Programming 3 February 2010 17:34 UTC www.technologyreview.com [Source type: FILTERED WITH BAYES]

^ I guess that since BASIC was born into a world where it was shoehorned into many, many different computers it became part of the BASIC culture that it is okay to have many broadly different implementations.

^ With every year, creating software for PCs (which are really business computers) became more and more complicated.

.Text editors were developed that allowed changes and corrections to be made much more easily than with punch cards.^ The face that C++ allows programmers (and forces programmers) direct access to addresses and allows pointer arithmetic means that undisciplined coders have more than enough rope to hang themselves.
  • Technology Review: The Problem with Programming 3 February 2010 17:34 UTC www.technologyreview.com [Source type: FILTERED WITH BAYES]

^ In the 80s, O-O seemed much more important than Generic Programing.
  • Technology Review: The Problem with Programming 3 February 2010 17:34 UTC www.technologyreview.com [Source type: FILTERED WITH BAYES]

^ Friendly URLs are plenty popular these days, and are much more user-friendly than the cryptic URLs from five years ago.

.As time has progressed, computers have made giant leaps in the area of processing power.^ My time spent on working with XML has made me appreciate the power of dynamic languages and I'll definitely be givin gIronPython a shot.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

.This has brought about newer programming languages that are more abstracted from the underlying hardware.^ For the past few years I've heard a lot of hype about dynamic programming languages like Python and Ruby.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ I think you can't truly appreciate the features of more "advanced" languages until you've tried programming without those features.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ The other big issue is that once you learn the language well, you may get the idea in your head that you know all about programming.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

.Although these high-level languages usually incur greater overhead, the increase in speed of modern computers has made the use of these languages much more practical than in the past.^ When using the asterisk wildcard character in a searchPattern , such as "*.txt", the matching behavior when the extension is exactly three characters long is different than when the extension is more or less than three characters long.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ As computer languages are in ways like our own speech--and societies, it is no wonder they cause so much confusion.
  • Technology Review: The Problem with Programming 3 February 2010 17:34 UTC www.technologyreview.com [Source type: FILTERED WITH BAYES]

^ And on the high-end side, Java and dynamic languages like Python, Ruby and Perl are usually better suited.
  • Technology Review: The Problem with Programming 3 February 2010 17:34 UTC www.technologyreview.com [Source type: FILTERED WITH BAYES]

.These increasingly abstracted languages typically are easier to learn and allow the programmer to develop applications much more efficiently and with less code.^ A bad programmer will be bad in any language, but that is less true for average developers and some languages.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ Inheritance and polymorphism produces much less code, and FOR ME, much more simplicity.

^ A response to a recent post read, "BASIC is good, but I think it should be avoided as a first language because it pampers the programmer too much."

.However, high-level languages are still impractical for a few programs, such as those where low-level hardware control is necessary or where processing speed is at a premium.^ However driver writers must have this low-level of control.
  • Technology Review: The Problem with Programming 3 February 2010 17:34 UTC www.technologyreview.com [Source type: FILTERED WITH BAYES]

^ However, languages such as Java and C# are not inferior.
  • Technology Review: The Problem with Programming 3 February 2010 17:34 UTC www.technologyreview.com [Source type: FILTERED WITH BAYES]

^ I think you can't truly appreciate the features of more "advanced" languages until you've tried programming without those features.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

.Throughout the second half of the twentieth century, programming was an attractive career in most developed countries.^ You'll be able to see how fast programming has progressed over the centuries and learn the significant developments in this field.
  • PC Articles - Introduction to Computer Programming 10 February 2010 13:40 UTC www.pc-articles.com [Source type: General]

^ These programs integrate general education to enhance personal development and career potential.
  • Online Computer Programming Degrees, Accredited Online Computer Programing Colleges 3 February 2010 17:34 UTC www.justcolleges.com [Source type: FILTERED WITH BAYES]

^ In the computer programming part of my job I help determine what changes and additions to our software would benefit our customers most then design and develop it.
  • Computer Programming Questions and Answers | myFootpath 10 February 2010 13:40 UTC www.myfootpath.com [Source type: General]

.Some forms of programming have been increasingly subject to offshore outsourcing (importing software and services from other countries, usually at a lower wage), making programming career decisions in developed countries more complicated, while increasing economic opportunities in less developed areas.^ I'd rather make my own mistakes (for things I care about) than blindly inherit other people's mistakes.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ Our Faculties are certified SAP consultants and mentors in designing SAP careers with a high experience in development, more...
  • Programming - Training Seminars, Resources and Workshops 3 February 2010 17:34 UTC www.training-classes.com [Source type: General]

^ Neuro Linguistic Programming ( NLP ) can be used in every area of your life to make it more compelling, passionate and rewarding.
  • Programming - Training Seminars, Resources and Workshops 3 February 2010 17:34 UTC www.training-classes.com [Source type: General]

.It is unclear how far this trend will continue and how deeply it will impact programmer wages and opportunities.^ These and opportunities, including consulting opportunities, should grow as employers continue to hire programmers in specialized areas.
  • Computer Programming Careers, Jobs, and Training Information - Career Overview.com 10 February 2010 13:40 UTC www.careeroverview.com [Source type: FILTERED WITH BAYES]

Modern programming

Quality requirements

.Whatever the approach to software development may be, the final program must satisfy some fundamental properties.^ Certain software applications should be developed only by coders who pass some strict tests, and they should be accountable for their creations.
  • Technology Review: The Problem with Programming 3 February 2010 17:34 UTC www.technologyreview.com [Source type: FILTERED WITH BAYES]

^ I loved programming, and I actually made some reasonably complex software.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ Re: Living in denial No, software developers (from novice to pro) are the single largest cause of programming disasters ever invented.
  • Technology Review: The Problem with Programming 3 February 2010 17:34 UTC www.technologyreview.com [Source type: FILTERED WITH BAYES]

The following properties are among the most relevant:
.
  • Efficiency/performance: the amount of system resources a program consumes (processor time, memory space, slow devices such as disks, network bandwidth and to some extent even user interaction): the less, the better.^ Compared to the memcached this still doesn't seem as efficient as we can get if we want to eke out every last out of performance out of the system although it does lead to simpler code.
    • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

    ^ There are four important concepts in a UNIX shell: The user interacts with the system using a shell.
    • Programming Texts/Tutorials 3 February 2010 17:34 UTC stommel.tamu.edu [Source type: Academic]

    ^ The [536 page] book examines how to connect these systems in a reliable, flexible, high-performance TCP/IP network."
    • Programming Texts/Tutorials 3 February 2010 17:34 UTC stommel.tamu.edu [Source type: Academic]

    .This also includes correct disposal of some resources, such as cleaning up temporary files and lack of memory leaks.
  • Reliability: how often the results of a program are correct.^ He came up with a challenge to see how others would implement a trivial web program in their favorite language.

    ^ He taught me how to write the very simple 10 print Wayne 20 goto 10 stuff and then gave me a book that had some sample programs.
    • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

    ^ TBC Training ...pment is exclusively based on up to date Neuro-Linguistic Programming ( NLP ) methods and techniques to deliver results that last.
    • Programming - Training Seminars, Resources and Workshops 3 February 2010 17:34 UTC www.training-classes.com [Source type: General]

    .This depends on conceptual correctness of algorithms, and minimization of programming mistakes, such as mistakes in resource management (e.g., buffer overflows and race conditions) and logic errors (such as division by zero).
  • Robustness: how well a program anticipates problems not due to programmer error.^ Run BASIC is a web programming system in development, and a really important part of what Scott McLaughlin and I are trying to do is to manage how the language grows.

    ^ The structure is appalling, and the programmers clearly didn't think deeply about correctness, algorithms, data structures, or maintainability.
    • Technology Review: The Problem with Programming 3 February 2010 17:34 UTC www.technologyreview.com [Source type: FILTERED WITH BAYES]

    ^ Programmers don't consciously introduce errors into programs -- errors are a natural part of the process.
    • Technology Review: The Problem with Programming 3 February 2010 17:34 UTC www.technologyreview.com [Source type: FILTERED WITH BAYES]

    .This includes situations such as incorrect, inappropriate or corrupt data, unavailability of needed resources such as memory, operating system services and network connections, and user error.
  • Usability: the ergonomics of a program: the ease with which a person can use the program for its intended purpose, or in some cases even unanticipated purposes.^ Modula3 for a high-level language that supports all the lowlevel manipulations needed for operating system stuff in a sane way.
    • Technology Review: The Problem with Programming 3 February 2010 17:34 UTC www.technologyreview.com [Source type: FILTERED WITH BAYES]

    ^ They put the computer in the library, so all the kids saw it – but some administrator had the idea that only the kids in the “gifted” program would be able to use it.
    • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

    ^ Instead we are creating a tool for the traditional users of BASIC. If you want to learn or teach programming, if you want to create web apps for your use at home (or on your iPhone!

    .Such issues can make or break its success even regardless of other issues.^ It also has other simplications, such as the representing most attribute values and many protocol items as textual strings, that are designed to make clients easier to implement."
    • Programming Texts/Tutorials 3 February 2010 17:34 UTC stommel.tamu.edu [Source type: Academic]

    ^ However the original iPhone was still successful and they addressed these issues in the next version to even greater success.
    • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

    .This involves a wide range of textual, graphical and sometimes hardware elements that improve the clarity, intuitiveness, cohesiveness and completeness of a program's user interface.
  • Portability: the range of computer hardware and operating system platforms on which the source code of a program can be compiled/interpreted and run.^ Which combinations of operating system and code are certified?
    • Technology Review: The Problem with Programming 3 February 2010 17:34 UTC www.technologyreview.com [Source type: FILTERED WITH BAYES]

    ^ The shell was the interface to the operating system.
    • Programming Texts/Tutorials 3 February 2010 17:34 UTC stommel.tamu.edu [Source type: Academic]

    ^ Jointly defined by a group of major computer hardware and software vendors, OpenMP is a portable, scalable model that gives shared-memory parallel programmers a simple and flexible interface for developing parallel applications for platforms ranging from the desktop to the supercomputer.
    • Programming Texts/Tutorials 3 February 2010 17:34 UTC stommel.tamu.edu [Source type: Academic]

    .This depends on differences in the programming facilities provided by the different platforms, including hardware and operating system resources, expected behaviour of the hardware and operating system, and availability of platform specific compilers (and sometimes libraries) for the language of the source code.
  • Maintainability: the ease with which a program can be modified by its present or future developers in order to make improvements or customizations, fix bugs and security holes, or adapt it to new environments.^ Operating systems (Computers) , Embedded computer systems Programming.
    • Fermilab Library Book Catalog 10 February 2010 13:40 UTC www-spires.fnal.gov [Source type: General]

    ^ Sometimes it makes good sense to add new things to a language.

    ^ Examples are presented in the BASIC programming language.

    Good practices during initial development make the difference in this regard. This quality may not be directly apparent to the end user but it can significantly affect the fate of a program over the long term.

Algorithmic complexity

.The academic field and the engineering practice of computer programming are both largely concerned with discovering and implementing the most efficient algorithms for a given class of problem.^ Long before the spreadsheet application Visicalc was a gleam in Dan Bricklin's eye the most important and powerful application for small computers was the BASIC programming language.

^ Re: Ignoring computer science Most of these pieces of advice are excellent and reflects advice given - and widely ignored - by responsible C++ people for at least a decade.
  • Technology Review: The Problem with Programming 3 February 2010 17:34 UTC www.technologyreview.com [Source type: FILTERED WITH BAYES]

^ This works on both C# and VB! Last week I wrote a post about Dynamic Linq Query Generation in order to solve a kind of meta-programming problem.

.For this purpose, algorithms are classified into orders using so-called Big O notation, O(n), which expresses resource use, such as execution time or memory consumption, in terms of the size of an input.^ The billions of resource records in the DNS directory are split into millions of files called zones.
  • Programming Texts/Tutorials 3 February 2010 17:34 UTC stommel.tamu.edu [Source type: Academic]

^ Shortly after i had to learn and use 6502-Assembler in order to have a nice input-routine, which allows the usage of the arrow-keys and other editing feature for nicer text-input.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ Ruby-on-Rails turns the schema representation of persistent data into executable in-memory structures.
  • Technology Review: The Problem with Programming 3 February 2010 17:34 UTC www.technologyreview.com [Source type: FILTERED WITH BAYES]

.Expert programmers are familiar with a variety of well-established algorithms and their respective complexities and use this knowledge to choose algorithms that are best suited to the circumstances.^ When not to use it: It works well for limited complexity.
  • Programming | upstream agile - software 3 February 2010 17:34 UTC upstre.am [Source type: General]

^ All of our courses are run by experienced professionals with practical knowledge of using these applications in the outside world and are familiar with your more...
  • Programming - Training Seminars, Resources and Workshops 3 February 2010 17:34 UTC www.training-classes.com [Source type: General]

^ Computer programmers often use the word scalable to describe a desirable feature of a program or algorithm.
  • Mike Vanier: opinions 10 February 2010 13:40 UTC www.cs.caltech.edu [Source type: FILTERED WITH BAYES]

Methodologies

.The first step in most formal software development projects is requirements analysis, followed by testing to determine value modeling, implementation, and failure elimination (debugging).^ Besides undertaking development for various business domains, We also provide a specialist software solution for requirements in Various industry.
  • Programming - Training Seminars, Resources and Workshops 3 February 2010 17:34 UTC www.training-classes.com [Source type: General]

^ Certain software applications should be developed only by coders who pass some strict tests, and they should be accountable for their creations.
  • Technology Review: The Problem with Programming 3 February 2010 17:34 UTC www.technologyreview.com [Source type: FILTERED WITH BAYES]

^ The challenge is in taking the necessary time to nail down the requirements, create a design, and implement / test to that design.
  • Technology Review: The Problem with Programming 3 February 2010 17:34 UTC www.technologyreview.com [Source type: FILTERED WITH BAYES]

.There exist a lot of differing approaches for each of those tasks.^ There are just lots of different terms.
  • Programming posts - Microsoft - CNET News 3 February 2010 17:34 UTC news.cnet.com [Source type: General]

^ Re: Don't need more experts in arcane technology There are many reasons to prefer C over C++ over C# over Different languages are geared for different tasks.
  • Technology Review: The Problem with Programming 3 February 2010 17:34 UTC www.technologyreview.com [Source type: FILTERED WITH BAYES]

^ There are many basic things which work in quite same way in many shells, but there are lots of differences in the more advanced operations in those different shells.
  • ePanorama.net - Links 3 February 2010 17:34 UTC www.epanorama.net [Source type: Reference]

One approach popular for requirements analysis is Use Case analysis.
.Popular modeling techniques include Object-Oriented Analysis and Design (OOAD) and Model-Driven Architecture (MDA).^ Agile Acceptance Testing - Test Driven Development - Design Patterns - UML and OOAD I customize my training as per the needs of the client.
  • Programming - Training Seminars, Resources and Workshops 3 February 2010 17:34 UTC www.training-classes.com [Source type: General]

^ In the 1980s and 90s, Bjarne Stroustrup designed and implemented the C++ programming language, which popularized object-oriented programming and influenced numerous other programming languages, including Java.
  • Technology Review: The Problem with Programming 3 February 2010 17:34 UTC www.technologyreview.com [Source type: FILTERED WITH BAYES]

^ Students learn about project design, object-oriented programming, console applications, graphics applications and many elements of the Java language.
  • Programming - Training Seminars, Resources and Workshops 3 February 2010 17:34 UTC www.training-classes.com [Source type: General]

The Unified Modeling Language (UML) is a notation used for both the OOAD and MDA.
A similar technique used for database design is Entity-Relationship Modeling (ER Modeling).
.Implementation techniques include imperative languages (object-oriented or procedural), functional languages, and logic languages.^ C++ however tries to satisfy device driver writers and at the same time to be an abstract object oriented language for extremely large projects.
  • Technology Review: The Problem with Programming 3 February 2010 17:34 UTC www.technologyreview.com [Source type: FILTERED WITH BAYES]

^ One reader commented, "So should a basic language add object-oriented features?

^ Traditionalist procedural programmers can create entire applications using subroutines and functions, similar to how it is done in popular languages like QBasic.

Measuring language usage

.It is very difficult to determine what are the most popular of modern programming languages.^ The popular programming languages .
  • Talk:Computer Programming/Archive2 - Wikibooks, collection of open-content textbooks 10 February 2010 13:40 UTC en.wikibooks.org [Source type: FILTERED WITH BAYES]

^ The most used programming languages are probably C and C++ .
  • Talk:Computer Programming/Archive2 - Wikibooks, collection of open-content textbooks 10 February 2010 13:40 UTC en.wikibooks.org [Source type: FILTERED WITH BAYES]

^ Most programmers have a primary computer language specialty, such as Lisp, Java, Delphi, or C++, which they use to design software programs in a way that computers will be able to understand.
  • Computer Programming (C++, Java, Visual Basic) Training & Certification 10 February 2010 13:40 UTC www.guidetocomputertraining.com [Source type: FILTERED WITH BAYES]

.Some languages are very popular for particular kinds of applications (e.g., COBOL is still strong in the corporate data center, often on large mainframes, FORTRAN in engineering applications, scripting languages in web development, and C in embedded applications), while some languages are regularly used to write many different kinds of applications.^ Many different techniques can be used.
  • Programming Texts/Tutorials 3 February 2010 17:34 UTC stommel.tamu.edu [Source type: Academic]

^ Recently, I had to write some code at work which spoke to a JSON-based Web service and struggled with how to deal with the fact that C# requires me to define the class of an object up front before I can use it in my application.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ Run BASIC is a web programming system in development, and a really important part of what Scott McLaughlin and I are trying to do is to manage how the language grows.

.Methods of measuring programming language popularity include: counting the number of job advertisements that mention the language,[10] the number of books teaching the language that are sold (this overestimates the importance of newer languages), and estimates of the number of existing lines of code written in the language (this underestimates the number of users of business languages such as COBOL).^ I found an interesting article where the author (Peter Norvig) complains about book titles that promise to teach programming in 24 hours, 7 days, 21 days, etc.

^ In contrast to existing, stand-alone Scheme systems Elk has been designed specifically as an embeddable, reusable extension language subsystem for applications written in C or C++.
  • Programming Texts/Tutorials 3 February 2010 17:34 UTC stommel.tamu.edu [Source type: Academic]

^ Only about 100 lines of code per program (a completely artifical limit left to the reader to remove).

Debugging

A bug, which was debugged in 1947.
.Debugging is a very important task in the software development process, because an incorrect program can have significant consequences for its users.^ Run BASIC is a web programming system in development, and a really important part of what Scott McLaughlin and I are trying to do is to manage how the language grows.

^ Developers adopt a platform when it offers differentiation from competitors: In competitive software markets, building an application that stands out from the crowd is important.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ I quickly learned that a lot of the features I'd considered as language bloat a couple of months ago actually made a lot of sense if you're familiar with the advantages of dynamic and functional programming approaches to the tasks of software development.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

.Some languages are more prone to some kinds of faults because their specification does not require compilers to perform as much checking as other languages.^ A response to a recent post read, "BASIC is good, but I think it should be avoided as a first language because it pampers the programmer too much."

^ I like it in the sense that I am nostalgic for those simple days, but I much prefer, well, any other programming language really.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ To grasp the concepts presented in HOME PROJECTS WITH VISUAL C EXPRESS, you should possess a working knowledge of Windows and have had some exposure to Visual C Express programming (or some other programming More...
  • Programming - Training Seminars, Resources and Workshops 3 February 2010 17:34 UTC www.training-classes.com [Source type: General]

.Use of a static analysis tool can help detect some possible problems.^ We deliver powerful tools that help you unleash your potential and use it to achieve your goals.
  • Programming - Training Seminars, Resources and Workshops 3 February 2010 17:34 UTC www.training-classes.com [Source type: General]

^ Instead of having multiple programming languages, wouldn't it be better to have tools that help make sure dangerous features are used properly?
  • Technology Review: The Problem with Programming 3 February 2010 17:34 UTC www.technologyreview.com [Source type: FILTERED WITH BAYES]

^ Compiler and Tools Tricks Using Shared and Static Libraries Across Platforms Introduction to Fortran: A Reference Manual - Aleksandar Donev (Jan.
  • Programming Texts/Tutorials 3 February 2010 17:34 UTC stommel.tamu.edu [Source type: Academic]

.Debugging is often done with IDEs like Visual Studio, NetBeans, and Eclipse.^ At least one of my pet peeves was fixed, in Visual Studio 2005 I finally have an IDE where "Find References to this Method" actually works.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ Hey wait, that's just like Visual Studio...
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

.Standalone debuggers like gdb are also used, and these often provide less of a visual environment, usually using a command line.^ You can examine variables, or if you like click on a line of code where you want to stop in the debugger and click on the Run To button.

^ Visual C Express programming concepts are taught while providing detailed step-by-step instructions in building many fun and useful projects.
  • Programming - Training Seminars, Resources and Workshops 3 February 2010 17:34 UTC www.training-classes.com [Source type: General]

^ Then use the program and when that line of code is reached, the debugger will stop and highlight that line of code and you can see the variables.

Programming languages

.Different programming languages support different styles of programming (called programming paradigms).^ I graduated with a degree in computer science, having learned tons of languages and programming paradigms.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ A fundamental aspect of C++ is that it should support multi-paradigm programming -that in itself is a tall demand.
  • Technology Review: The Problem with Programming 3 February 2010 17:34 UTC www.technologyreview.com [Source type: FILTERED WITH BAYES]

^ It supports the following programming languages; C++, Java and Python.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

.The choice of language used is subject to many considerations, such as company policy, suitability to task, availability of third-party packages, or individual preference.^ MySQL is a fantastic choice for any new developer, because of its open source nature, wide support and abundance of tutorials available on the subject.
  • Top Programming News, Videos and Images 3 February 2010 17:34 UTC digg.com [Source type: FILTERED WITH BAYES]
  • Top Programming News 3 February 2010 17:34 UTC digg.com [Source type: FILTERED WITH BAYES]

^ If your code depends on third-party packages, you must include a complete list of all packages, including exact version information and download URLs.
  • Google Programming Contest 3 February 2010 17:34 UTC www.google.com [Source type: General]

^ Other languages, such as Java, or MATLAB can be used, but, are not recommended for performance reasons and may not be as well supported.
  • Programming on WestGrid Systems | WestGrid 3 February 2010 17:34 UTC www.westgrid.ca [Source type: Reference]

.Ideally, the programming language best suited for the task at hand will be selected.^ Exercises in a selected AI programming language.
  • IT Commons Course Catalog - Computer Programming 10 February 2010 13:40 UTC www.albany.edu [Source type: Academic]

^ Computer Programming degree programs give students hands-on skills they need to be productive software developers in many industries, using specific skill sets and programming languages.
  • Computer Programming Degrees 10 February 2010 13:40 UTC www.braintrack.com [Source type: Reference]

^ Some students go through the program slowly, others at an accelerated level so we can accommodate almost any arrangement that suits you best.
  • Computer Programming with Java and C# Distance Learning Course 10 February 2010 13:40 UTC www.cie-wc.edu [Source type: FILTERED WITH BAYES]

.Trade-offs from this ideal involve finding enough programmers who know the language to build a team, the availability of compilers for that language, and the efficiency with which programs written in a given language execute.^ This includes the developers that build the compilers for the languages.
  • Technology Review: The Problem with Programming 3 February 2010 17:34 UTC www.technologyreview.com [Source type: FILTERED WITH BAYES]

^ All the UML sequence diagrams in the world and all the testers, managers and end user feedback in the world doesn't change the fact that it is a solo programmer who presses the key that kicks off a build.
  • Technology Review: The Problem with Programming 3 February 2010 17:34 UTC www.technologyreview.com [Source type: FILTERED WITH BAYES]

^ Taking that file as input, the compiler generates code to be used to easily build RPC clients and servers that communicate seamlessly across programming languages.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

Allen Downey, in his book How To Think Like A Computer Scientist, writes:
The details look different in different languages, but a few basic instructions appear in just about every language:
  • input: Get data from the keyboard, a file, or some other device.
  • .output: Display data on the screen or send data to a file or other device.^ Then it discusses input and output with disk files and other data streams.
    • Introduction to Computer Science using Java 10 February 2010 13:40 UTC www.cs.iastate.edu [Source type: Academic]

    ^ Beginning with simple queries that retrieve selected data from a single table, it progresses to advanced queries that summarize data, combine it with data from other tables, and display the data in specialized ways.
    • Computer Programming Technology » Southwestern College Professional Studies 10 February 2010 13:40 UTC www.southwesterncollege.org [Source type: Reference]

    ^ The first PDF is more suitable for on-screen reading; it contains internal links for navigation and external links to source code files, exercise solutions, and other resources.
    • Javanotes 5.1.1 -- Title Page 3 February 2010 17:34 UTC math.hws.edu [Source type: FILTERED WITH BAYES]

  • arithmetic: Perform basic arithmetical operations like addition and multiplication.
  • .conditional execution: Check for certain conditions and execute the appropriate sequence of statements.^ Sequence, Selection, and Repetition Controls : Sequence, Selection, and Repetition Controls Repetition control structure To execute a loop, the computer repeats one or more commands until some condition indicates that the looping should stop.
    • Computer Programming 10 February 2010 13:40 UTC www.wiziq.com [Source type: Reference]

    ^ Usually, the condition will be testing the result of executing the statements that are inside the loop.
    • Programming Loops in Computer Code: Condition tested, counted and endless loops to control the flow of information. 10 February 2010 13:40 UTC computerprogramming.suite101.com [Source type: FILTERED WITH BAYES]

    ^ A shell is a full featured programming language, with variables, conditional statements, and the ability to execute other programs.
    • Programming Texts/Tutorials 3 February 2010 17:34 UTC stommel.tamu.edu [Source type: Academic]

  • repetition: Perform some action repeatedly, usually with some variation.
.Many computer languages provide a mechanism to call functions provided by libraries.^ In a duck-typed language, the equivalent function would take an object of any type and call that object's walk and quack methods.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ Ten plain-English lessons explain the Visual C .NET toolbox, event procedures, and many elements of the C computer language.
  • Programming - Training Seminars, Resources and Workshops 3 February 2010 17:34 UTC www.training-classes.com [Source type: General]

^ Ten plain-English lessons explain the Visual J Express toolbox, event methods, and many elements of the J computer language (which is based on Sun 's Java language).
  • Programming - Training Seminars, Resources and Workshops 3 February 2010 17:34 UTC www.training-classes.com [Source type: General]

.Provided the functions in a library follow the appropriate runtime conventions (eg, method of passing arguments), then these functions may be written in any other language.^ The functions in the libraries have already passed a compile and do not get recompiled.
  • Technology Review: The Problem with Programming 3 February 2010 17:34 UTC www.technologyreview.com [Source type: FILTERED WITH BAYES]

^ The other big issue is that once you learn the language well, you may get the idea in your head that you know all about programming.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ It may be that, as some of its proponents say, the ever-changing functionality can be written so quickly that the extra time can be used to address bottlenecks.
  • Technology Review: The Problem with Programming 3 February 2010 17:34 UTC www.technologyreview.com [Source type: FILTERED WITH BAYES]

Programmers

.Computer programmers are those who write computer software.^ Brent on April 22, 2008 8:26 AM Software engineer, programmer, computer scientist ...
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ Programmers who were taught to write quality code and who told bosses who wanted quantity over quality to get lost often lost their jobs.
  • Technology Review: The Problem with Programming 3 February 2010 17:34 UTC www.technologyreview.com [Source type: FILTERED WITH BAYES]

^ And, even though the examples are kid-related, it could also be used by 'big kids' who want a basic introduction to writing computer applications.
  • Programming - Training Seminars, Resources and Workshops 3 February 2010 17:34 UTC www.training-classes.com [Source type: General]

Their jobs usually involve:

See also

References

  1. ^ Paul Graham (2003). Hackers and Painters. http://www.paulgraham.com/hp.html. Retrieved 2006-08-22. 
  2. ^ Kenneth E. Iverson, the originator of the APL programming language, believed that the Sapir–Whorf hypothesis applied to computer languages (without actually mentioning the hypothesis by name). His Turing award lecture, "Notation as a tool of thought", was devoted to this theme, arguing that more powerful notations aided thinking about computer algorithms. Iverson K.E.,"Notation as a tool of thought", Communications of the ACM, 23: 444-465 (August 1980).
  3. ^ New World Encyclopedia Online Edition New World Encyclopedia
  4. ^ Al-Jazari - the Mechanical Genius, MuslimHeritage.com
  5. ^ A 13th Century Programmable Robot, University of Sheffield
  6. ^ Fowler, Charles B. (October 1967), "The Museum of Music: A History of Mechanical Instruments", Music Educators Journal 54 (2): 45–49, doi:10.2307/3391092 
  7. ^ Columbia University Computing History - Herman Hollerith
  8. ^ [1]
  9. ^ [2]
  10. ^ Survey of Job advertisements mentioning a given language>

Further reading

  • Weinberg, Gerald M., The Psychology of Computer Programming, New York: Van Nostrand Reinhold, 1971

External links


Study guide

Up to date as of January 14, 2010
(Redirected to Topic:Computer programming article)

From Wikiversity

CP logo.png
Part of the School of Computer Science
.Computer Programming is a field that involves the methodology behind the programming, software abstraction, algorithms, data structures, design, testing, and maintenance of computer software.^ This includes various solutions as school software, hotel software sales inventory software, with computers with programming skills, completetraining program in various software more...
  • Programming - Training Seminars, Resources and Workshops 3 February 2010 17:34 UTC www.training-classes.com [Source type: General]

^ TestFloat - John Hauser "A program for testing whether a computer's floating-point conforms to the IEC/IEEE Standard for Binary Floating-point Arithmetic."
  • Programming Texts/Tutorials 3 February 2010 17:34 UTC stommel.tamu.edu [Source type: Academic]

^ Evan on April 22, 2008 8:20 AM I hate Dijkstra, he cost my 3 points in my Data Structures test just last week.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

Contents

Division news

  • May 14, 2007 - New programming language added (D) and lesson numbers for programming languages updated.
  • September 16, 2006 - Department upgraded to division
  • August 20, 2006 - Department founded!......

Recommended course of study

.
  • Computing Fundamentals
  • Introduction to Computer Science
  • Creating a Development Environment
  • Introduction to Programming
  • Introduction to Programming Logic
  • Hungarian Notation
  • Procedure Oriented Programming
  • At least one topic in Procedure Oriented languages
  • Object-Oriented Programming
  • At least Two object-oriented languages.^ C++ however tries to satisfy device driver writers and at the same time to be an abstract object oriented language for extremely large projects.
    • Technology Review: The Problem with Programming 3 February 2010 17:34 UTC www.technologyreview.com [Source type: FILTERED WITH BAYES]

    ^ Wayne on April 22, 2008 6:58 AM I started programming in BASIC too, that was the only available option on the really old computers at my school !
    • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

    ^ Run BASIC is a web programming system in development, and a really important part of what Scott McLaughlin and I are trying to do is to manage how the language grows.

    .
  • At least one topic in web-based languages.^ RPG (yes, there is at least one BAD language...
    • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

    ^ All Java, J2EE & Frameworks Trainings : * Free Java Training for Beginners * Core Java Training * Java/ J2EE Web Training * J2EE & Frameworks Training * Training Calendar Custom Courses and Courses on other Java-related topics are also available.
    • Programming - Training Seminars, Resources and Workshops 3 February 2010 17:34 UTC www.training-classes.com [Source type: General]

    ^ Ten plain-English lessons explain the Visual J Express toolbox, event methods, and many elements of the J computer language (which is based on Sun 's Java language).
    • Programming - Training Seminars, Resources and Workshops 3 February 2010 17:34 UTC www.training-classes.com [Source type: General]

    .
  • At least one topic in RDBMS.
  • At least one other topic in computer programming languages.^ No HTML or other programming languages.
    • Programming - Training Seminars, Resources and Workshops 3 February 2010 17:34 UTC www.training-classes.com [Source type: General]

    ^ Support for other databases like Oracle, PostgreSQL, SQL Server, etc.

    ^ So in this case the language in question is a simple one, specialized for the robot ideas as a gentle way to introduce programming.

  • Algorithms and Data Structures

General topics

Applied topics

Computer Programming Languages

Available

Planned

Specialized programming environments

Learning materials and learning projects

Wikiversity has adopted the "learning by doing" model for education. Lessons should center on learning activities for Wikiversity participants. Learning materials and learning projects can be used by multiple departments. .Cooperate with other departments that use the same learning resource.^ Shortly after i had to learn and use 6502-Assembler in order to have a nice input-routine, which allows the usage of the arrow-keys and other editing feature for nicer text-input.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ You shouldn't, because the other logic gates exist and it would be hugely wasteful to use NAND gates to do the same thing, but it can be done.

Learning materials and learning projects are located in the main Wikiversity namespace. .Simply make a link to the name of the lesson (lessons are independent pages in the main namespace) and start writing!^ IO; namespace Name_agram{ class Program { static void Main( string [] args){ var names = from line in File .
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

Textbooks

Exercise collections

Literature on programming exercises

.
  • Exercise design for introductory programming : "Learn-by-Doing" basic O-O-concepts using Inverted Curriculum Marcel Kessler.^ Windows 95,98,NT LEARN VISUAL BASIC 5 ...s a self-paced comprehensive overview of the Visual Basic programming language and environment.
    • Programming - Training Seminars, Resources and Workshops 3 February 2010 17:34 UTC www.training-classes.com [Source type: General]

    ^ The BASIC programming language was the original easy to use language.

    ^ What :- Offers professional training, and doing development in the areas of OpenGL Programming, web designing, SEO Marketing.
    • Programming - Training Seminars, Resources and Workshops 3 February 2010 17:34 UTC www.training-classes.com [Source type: General]

    Master thesis, ETH Zürich, 2004; ETH, Eidgenössische Technische Hochschule Zürich, Department of Computer Science, Chair of Software Engineering, 2004 [1]

Learning projects

  • MediaWiki Project - from introductory HTML to advanced MediaWiki hacking.... participants develop new MediaWiki features for the Wikiversity community.
  • ACM SIGCSE (Special Interest Group Computer Science Education) Link list on Programming: [2]
  • CisLunarFreighter (Game Development Project).

Active participants

The histories of Wikiversity pages indicate who the active participants are. .If you are an active participant in this department, you can list your name here (this can help small departments grow and the participants communicate better; for large departments a list of active participants is not needed).^ I have a multitude of tutorials on the Flex Datagrid here at Switch On The Code and none of them show you how to use percentage widths in your Datagrid.

^ The argument that it leads to "better API" is another variation of this theme since it argues that if you are compelled to use LONGER MORE DESCRIPTIVE PROPERTY NAMES (e.g.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ We will help you enhance your skills and productivity in your organization by getting the right skills and solutions for you and your more...
  • Programming - Training Seminars, Resources and Workshops 3 February 2010 17:34 UTC www.training-classes.com [Source type: General]

.
  • JordanP (Beginer: CSS, HTML, XHTML, Python, PHP, Flash, Java)
  • Aepex (Computer Science)
  • AmiDaniel -- VB6, Java, various others
  • CQuinton (talk) (Perl, PHP, Python...^ Perl, PHP (talk about mutilating the mind!
    • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

    ^ TPS Services Ltd ...HCE, as well as many other Unix / Linux courses for intro, programming, scripting ( Shell , Perl , Python and many others).
    • Programming - Training Seminars, Resources and Workshops 3 February 2010 17:34 UTC www.training-classes.com [Source type: General]

    ^ It supports the following programming languages; C++, Java, Python, PHP and Ruby.
    • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

    help with .Intro to Programming and Computer science in general)
  • Crossbow9
  • Devourer09 (Computer Science)
  • Donald McLean -- Introduction to Programming and the companion course Introduction to Programming in Java
  • Draicone (talk) (PHP, C, C++, Javascript, Pascal, Python, Perl, RoR, General OO, Intro to Programming)
  • Girish Pandit(Java, J2EE, SOA, Data Structures, Design Patterns,Database, PHP)
  • Hillgentleman--interested to learn PHP
  • JaK81600 (Computer Science)
  • Mark Roberts (Computer Science)
  • Michael Billington (talk • contribs) (VB6, C, and apparently PHP)
  • NickSentowski (talk)
  • OMouse (D programming language, general proof-reading and filling in the gaps)
  • Pedro Gonnet (talk)
  • Punk Boi 8
  • Quasar (talk)(C Programming, C++, Data Structures, Java)
  • raghunandanan 05:05, 9 May 2007 (UTC) a beginner
  • Richard2me (Computer Science)
  • Xlbnushk -- (X)HTML, CSS, JavaScript, PHP, MySQL, MSSQL
  • Cslashb HTML, CSS & Visual Basic, learning Java, C# & C++
  • Charles Mwiyeretsi ( SQL, Java, PHP, C, CSS...^ For the past few years I've heard a lot of hype about dynamic programming languages like Python and Ruby.
    • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

    ^ Read Joel Spolsky’s Can Your Programming Language Do This?
    • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

    ^ May 3, 2008 5:15 PM Fact is, BASIC as an intro to programming is awesome.
    • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

    )
  • Gadaba ( SQL, Java, PHP, C, CSS...,Game Design)
  • Josh Sandlin (Linux Programming)
  • Prototype (Visual Basic, HTML, PHP + SQL)
  • Peter Rawsthorne (LAMP beginner)
  • Mathieu (LAMP, C, Java, HTML, CSS beginner)
  • Jekrox (QB, HTML, Visual Basic)
  • AFriedman
  • Rbhagwandin 16:34, 8 May 2009 (UTC)

Resources

External links

Sciences humaines.svg Educational level: this is a tertiary (university) resource.
Crystal Clear Sharemanager.png Resource type: this resource is a course.
Nuvola apps kcmsystem.svg Subject classification: this is an engineering resource .
Nuvola apps kcontrol.gif .Completion status: this resource is well on its way to completion, but there may still be work to do.^ I moved on to PASCAL and FORTRAN soon after those days, and still have a working Amiga 500 that I played with as well.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ I know there are some benefits to the way these other languages work, but BASIC is really meant to be very light and simple.

^ It's been fine, and it certainly worked well enough, but there have been parts of it that weren't as clear as they should have been.


Wikibooks

Up to date as of January 23, 2010
(Redirected to Computer Programming article)

From Wikibooks, the open-content textbooks collection

Three MediaWiki developers programming at Wikimania.
.Computer programming is the craft of writing useful, maintainable, and extensible instructions which can be interpreted by a computing system to perform a meaningful task.^ They put the computer in the library, so all the kids saw it – but some administrator had the idea that only the kids in the “gifted” program would be able to use it.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ Derek Parnell on April 23, 2008 4:36 AM My first program was to calculate solution of a system of linear equations using Casio Programmable Calculator.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ Our idea is that you can use this system to host a web site and share programs that you write as links on a home page.

.Programming a computer can be performed in one of numerous languages, ranging from a higher-level language to writing directly in low-level machine code (that is, code that more directly controls the specifics of the computer's hardware) all the way to writing microcode (which does directly control the electronics in the computer).^ We write WITH a programming language, and not IN a programming language.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ Taking that file as input, the compiler generates code to be used to easily build RPC clients and servers that communicate seamlessly across programming languages.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ I was always frustrated that there was no possible way I could write a decent program like the ones you could load from disk.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

Using programming languages and markup languages (such as XHTML and XForms) require some of the same skills, but using markup languages is generally not considered "programming." Nevertheless, many markup languages allow inclusion of scripts, e.g. many HTML documents contain JavaScript. There are exceptions where markup languages do represent programming such as SuperX++ (http://xplusplus.sourceforge.net/) and o:XML (http://www.o-xml.org/)
.Computer programming is one part of a much larger discipline known as software engineering, which includes several different aspects of making software including design, construction and quality control.^ Brent on April 22, 2008 8:26 AM Software engineer, programmer, computer scientist ...
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ I guess that since BASIC was born into a world where it was shoehorned into many, many different computers it became part of the BASIC culture that it is okay to have many broadly different implementations.

^ Changing the value of a magic number is error-prone, because the same value is often used several times in different places within a program It facilitates parameterization.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

The subject of this book is software construction, that is, programming. .Computer programming is also a useful skill (though not always necessary) for people who are interested in computer science.^ They put the computer in the library, so all the kids saw it – but some administrator had the idea that only the kids in the “gifted” program would be able to use it.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ Programming skills and the thought processes involved can be taught using any language.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ Of course, if you were at all interested in computers, you wouldn't bother programming on a dinky Atari 2600.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

.Whereas software engineering is interested specifically in making software, computer science tends to be oriented towards more theoretical or mathematical problems.^ Brent on April 22, 2008 8:26 AM Software engineer, programmer, computer scientist ...
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ In the words of Edsger Dijkstra , computer science is no more about computers than astronomy is about telescopes.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ Computer Science, at a deep and fundamental level, is broken, and that applies not only to software but to hardware.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

Contents

Getting started

.Many people think they must choose a specific programming language in order to become a programmer, believing that they can only do that language.^ I think you can't truly appreciate the features of more "advanced" languages until you've tried programming without those features.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ A response to a recent post read, "BASIC is good, but I think it should be avoided as a first language because it pampers the programmer too much."

^ One of them (I think it was the official Commodore product) produced what they called "p-code", which is similar to Java or .Net byte code today, and that one only produced a mild speed-up.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

They ask themselves, "should I be a C programmer or a Java programmer?" That's completely the wrong question. The right question is "How can I become a good programmer?" .Unfortunately the employment market has contributed greatly to misconceptions about computer programming.^ CF on July 26, 2008 4:36 PM I started programming in BASIC on an Apple II 8 bit computer when I was about 11 years old.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ He was the adviser to the gifted program, and probably the one who had a brainstorm about restricting the computer's use.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

.Companies will often advertise for employees with a specific computer language skillset, perhaps because it is difficult for hiring managers to judge competence or general ability in computer programming.^ Taking that file as input, the compiler generates code to be used to easily build RPC clients and servers that communicate seamlessly across programming languages.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ I graduated with a degree in computer science, having learned tons of languages and programming paradigms.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ I would never laud it with praises as a programming language, but perhaps as a cultural phenomenon, it was valuable.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

.There are a few points one can make about what a good programmer knows about specific computer languages.^ It makes sure that you - as a programmer - actually knows what a computer is all about.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ For the past few years I've heard a lot of hype about dynamic programming languages like Python and Ruby.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ RPG (yes, there is at least one BAD language...
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

.First - many languages are based on the same fundamental building blocks.^ Too many folks here don't seem to understand the fundamental truth of programming - the language is irrelevant.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ Of course BASIC would be horrible today, but the fundamentals of structuring and the base concepts of programming are in EVERY language.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ The capability of a programming language to treat functions as first class objects that can be the input(s) or the output(s) of a function call is a key feature of many of today's popular "dynamic" programming languages.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

.Learning a language should be seen more as a way of acquiring those concepts than language or machine specific techniques.^ I'd ever seen, anyone else do this or remember what machine and language?
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ I think you can't truly appreciate the features of more "advanced" languages until you've tried programming without those features.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ Once you learn the principles of programming (or of a particular methodology), it's easy to transpose those ideas into whatever future project or language you choose to use.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

.Second - good programmers are generally competent in more than one language because it is naturally interesting and useful to find different ways of solving problems.^ The urge the reduce the complexity of the tools used to solve software problems is one that every software developer should share.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ When using the asterisk wildcard character in a searchPattern , such as "*.txt", the matching behavior when the extension is exactly three characters long is different than when the extension is more or less than three characters long.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ On the flip side, the introduction of generics has added a lot more frustrating moments than I expected.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

.It is not necessary to master many different languages or even more than one -- a programmer could excel in one language and have only a vague working idea how to program others.^ What other programming language has not only lasted as long as Basic, but also has the popularity of Basic?
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ The days when one could program in one language alone appear to be over.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ When using the asterisk wildcard character in a searchPattern , such as "*.txt", the matching behavior when the extension is exactly three characters long is different than when the extension is more or less than three characters long.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

.It is useful to know many different methods for solving computer problems, also known as algorithms.^ Many different techniques can be used.
  • Programming Texts/Tutorials 3 February 2010 17:34 UTC stommel.tamu.edu [Source type: Academic]

^ The urge the reduce the complexity of the tools used to solve software problems is one that every software developer should share.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ There are many famous and everyday examples of this culture of complexity in software projects which are eventually trumped by solutions that solve 80% of the problem in a simple way.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

.An algorithm is a list of well-defined instructions for completing a task, and knowing several languages means having the ability to list the computer instructions in many different ways.^ I remember well the exhausting task of typing those listings into the computer and the pleasure of typing run and playing a real game.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ I went from BASIC to Pascal, Java, VB .NET, C# and many scripting languages and went through college (and was subsequently hired by them) in a computer science program.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ Most programmers I know work with several programming languages and have to work hard to keep up with the changes in software development.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

.Since computer programming languages have so much in common, it is generally easy to learn a new programming language once you have mastered another.^ BASIC was the learning language of our generation.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ I think you can't truly appreciate the features of more "advanced" languages until you've tried programming without those features.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ Taking that file as input, the compiler generates code to be used to easily build RPC clients and servers that communicate seamlessly across programming languages.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

So how do you get started? .One reasonable technique would be to just pick a language and run with it.^ I think in this day you could say the same for just any programming language that isn't the one YOU prefer.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

.Unfortunately, we cannot suggest what the right computer language might be for all people for all purposes.^ Several years later I was using QuickBASIC, which supported all the structured programming constructs one might want, while hearing about this new language called "C" ...
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

.Ask ten programmers what language you should learn and you will get ten different responses.^ The code should be event based so that you have a different function running depending on whether the red or blue button was clicked.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ Once you learn the principles of programming (or of a particular methodology), it's easy to transpose those ideas into whatever future project or language you choose to use.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ Newer languages carry new structures, and you learn the structure at the same time you learn the syntax.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

.Given the collaborative nature of this wikibook, you'll probably get as many responses as there are programming language books on the site.^ I think you can't truly appreciate the features of more "advanced" languages until you've tried programming without those features.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ I was always frustrated that there was no possible way I could write a decent program like the ones you could load from disk.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ Jay on April 22, 2008 10:33 AM That's hilarious, I totally had those Basic programming books you show.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

Families of languages

.There is a common misconception by people unfamiliar with computer programming that all programming languages are essentially the same.^ They put the computer in the library, so all the kids saw it – but some administrator had the idea that only the kids in the “gifted” program would be able to use it.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ Of course, if you were at all interested in computers, you wouldn't bother programming on a dinky Atari 2600.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ I think in this day you could say the same for just any programming language that isn't the one YOU prefer.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

.In one sense this is true because all digital electronic computers translate programming languages into strings of ones and zeros that is sometimes called Machine code.^ Taking that file as input, the compiler generates code to be used to easily build RPC clients and servers that communicate seamlessly across programming languages.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ One of them (I think it was the official Commodore product) produced what they called "p-code", which is similar to Java or .Net byte code today, and that one only produced a mild speed-up.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ They put the computer in the library, so all the kids saw it – but some administrator had the idea that only the kids in the “gifted” program would be able to use it.
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

.While mainstream, personal computer languages tend to be derived from a specific tradition and are very similar (hence the popularity of this misconception), some languages fall into different paradigms which provide for a radically different programming experience.^ In addition, C# 3.0 actually fixed one of the problems I'd encountered in my previous experience with a dynamic programming language while in college.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ You can write badly structured programs in any language and you can write well structured programs in any language, but some languages encourage well written code and some don't ...
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ Binary protocols that require specific programming languages and runtimes are the exact opposite of this.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

.Programming in Java is quite different from programming in Assembly language, which is quite different from programming in Haskell or Prolog or Forth, etc.^ Programming languages and runtimes evolve: My intern started yesterday and he mentioned that he knows Java but not C#.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ Assembly Programming Journal Assembly Language - Brian Brown (1988-1999) The History of Assembly Language Programming x86 Assembly Language FAQ - 1/3 - Raymond Moon et al.
  • Programming Texts/Tutorials 3 February 2010 17:34 UTC stommel.tamu.edu [Source type: Academic]

^ It supports the following programming languages; C++, Java and Python.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

.In the American Scientist article The Semicolon Wars, Brian Hayes classifies languages into four categories: imperative, object-oriented, functional, and declarative.^ In a duck-typed language, the equivalent function would take an object of any type and call that object's walk and quack methods.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ Although C# has had functions as first class objects since version 1.0 with delegates and introduced anonymous delegates in C# 2.0, it is in C# 3.0 where the short hand syntax of lambda expressions has found its way into the language.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ The capability of a programming language to treat functions as first class objects that can be the input(s) or the output(s) of a function call is a key feature of many of today's popular "dynamic" programming languages.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

.Imperative and object-oriented languages tend to be used in the mainstream, whereas functional and declarative languages tend to be used in academic settings.^ In a duck-typed language, the equivalent function would take an object of any type and call that object's walk and quack methods.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ There are also a number of other useful higher order functions available on all enumerable/collection objects.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ Using Domain Specific Languages to Instantiate Object-Oriented Frameworks - Marcus Fontoura et al.
  • Programming Texts/Tutorials 3 February 2010 17:34 UTC stommel.tamu.edu [Source type: Academic]

.Functional and declarative programming enthusiasts might argue that the paradigms are 20 years ahead of the mainstream and superior in many respects; however, mainstream language advocates would probably counter that such paradigms are hard to learn, or not very practical for their own unpopularity, among other things.^ In a duck-typed language, the equivalent function would take an object of any type and call that object's walk and quack methods.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ The default sort functions in almost every programming language are poorly suited for human consumption .
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ I'd rather make my own mistakes (for things I care about) than blindly inherit other people's mistakes.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

.We do not make any claims about who is right on this matter, but at the very least, we will suggest that building familiarity with the four major paradigms is an extremely valuable exercise.^ At almost any point in time over the past few years, I could easily count about three or four software projects I was personally familiar with that were making classic "second system" mistakes.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ He is the kind of programmer who is hard at work building the future, and making useful things so that people can do stuff.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ LRP is small enough to fit on a single floppy disk, and makes building and maintaining routers, bridges, firewalls, switches, and access servers very easy."
  • Programming Texts/Tutorials 3 February 2010 17:34 UTC stommel.tamu.edu [Source type: Academic]

Common concepts

.Programming languages tend to have many general concepts in common.^ Taking that file as input, the compiler generates code to be used to easily build RPC clients and servers that communicate seamlessly across programming languages.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ It was a great learning language and Delphi is a powerful tool, but too many people treat pascal like they treated basic: good for learning intro stuff but not good for real programming...
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

^ Microsoft evolved Basic into a fully featured programming language that is now VB.NET but it considered by many including Dijkstra that they started with the wrong language ...
  • Coding Horror: Everything I Needed to Know About Programming I Learned from BASIC 3 February 2010 17:34 UTC www.codinghorror.com [Source type: General]

.One can examine the recurring concepts and how they are expressed in various languages in the following table.^ The More Things Change The More They Stay The Same This section describes concepts and language features that are almost exactly the same in C# and Java.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ Little Languages Little Language Wiki Program Transformation Wiki Five Little Languages and How They Grew - Dennis Ritchie (Mar.
  • Programming Texts/Tutorials 3 February 2010 17:34 UTC stommel.tamu.edu [Source type: Academic]

Table of language concepts and how they are expressed in various languages.
Available pages for "Key concepts in programming"
Wikicode Asm Ada C C++ Java C# Perl Delphi Python VB VBNet J2ME
Statements page here page here page here page here page here page here page here page here
Control Statements page here page here page here page here page here page here page here page here page here
Variables page here page here page here page here page here page here page here page here
Types page here page here page here page here page here page here page here page here
Mathematical calculations page here page here page here page here page here page here page here
Procedures and Functions page here page here page here page here page here page here page here
Function overloading page here page here page here
Structure and Style page here page here page here page here page here page here page here
String manipulation page here page here page here page here page here page here page here
Input and Output page here page here page here page here page here
Memory Management page here page here page here page here
Error handling page here page here page here page here page here page here page here
Object Oriented Programming page here page here page here page here page here page here page here
Generic programming page here page here page here
Concurrent programming page here page here page here
Packages and Modules page here page here page here page here
Libraries page here page here page here
Combining Languages page here page here
.To see a comparison of syntax in various programming languages, see these "Hello World" examples.^ These are just some of the problems Joel glosses over as he makes the case for rolling your own programming languages.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ For example, programming in functional style with small methods can benefit from suggesting every suitable local variable to be converted to var style.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ My friend Erik Meijer once observed that certain recurring programming patterns become more obvious as a programming language evolves , these patterns first become encapsulated by APIs and eventually become part of the programming language’s syntax.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

For a list including various computer languages arranged together by syntax terms and patterns, see Wikipedia's lists of computer syntax patterns.

Programming skills

.Computer programming is really just about solving problems.^ These are just some of the problems Joel glosses over as he makes the case for rolling your own programming languages.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

.It turns out that a large number of the problems you encounter in the real world are really just special cases of a more general problem.^ These are just some of the problems Joel glosses over as he makes the case for rolling your own programming languages.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ As it turns out, far more dangerous than expected.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ Or may be your project has IElement root interface and you just know that every variable with "element" name is IElement and you don't want explicit types for this case.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

.Luckily for you, many of these problems have been studied by computer scientists for a very long time, sometimes leading to probably unbeatable solutions, or sometimes solutions which are "good enough" for every day needs.^ There are many famous and everyday examples of this culture of complexity in software projects which are eventually trumped by solutions that solve 80% of the problem in a simple way.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ Maybe, if you're doing something that's different enough from the mainstream and if there's no good off-the-shelf technology for your problem.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ The bottom line is that a lot of the time it's OK to create a solution that solves 80% of the problem.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

.In short, learning a language gives you skills, but learning data structures and algorithms shows you how to use these skills wisely.^ You can learn a little more about it in Erik Meijer's post on Lambda the Ultimate entitled Democratizing the Cloud using Microsoft Live Labs Volta .
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ This flexibility is what gives us data formats like the Atom syndication format which although rigidly structured in parts (e.g.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ Just as important is learning the idioms and way of thinking that goes with these language features.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

Data Structures and algorithms

Language-related skills

Programming for applications

Programming for platforms

History of programming

General trends

Specific languages

The following languages deserve special mention, being significant languages in the development of structured programming languages and object-oriented programming. They are worth understanding for the concepts they introduced.
ALGOL 
was the first structured programming language and as such is the basis for all modern imperative languages. It was built around the notion of a block, delimited by BEGIN and END containing declarations and statements. ALGOL is a recursive general-purpose language, including recursive calls at a time when this was thought too difficult in languages like FORTRAN and COBOL. ALGOL is a stack language, so as blocks are entered, the declared variables are pushed on the stack and when a block exits, the stack is reduced. A block without declarations is not actually a block, but a compound statement, causing no stack building overhead. ALGOL was first developed as ALGOL 58, based on the formal BNF (Backus-Naur Form) language design notation. .ALGOL-60 was a revision and this formed the basis of many other languages such as ALGOL-68, ALGOL-W, Pascal, Modula-2, Oberon, C, C++, Java, Simula, Ada, and Eiffel.^ Browser based Java based Dynamic language based: Perl, Python, Ruby, Tcl Native cross-platform development environment, e.g Qt Apollo Others, e.g.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

.ALGOL-60 was the first language used for systems programming in the Burroughs B5000 stack machines operating system in the early 1960s (when all else was programmed in assembler and where ALGOL is still used in 2006 Current ALGOL manual ).^ Taking that file as input, the compiler generates code to be used to easily build RPC clients and servers that communicate seamlessly across programming languages.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ Someone should inform the ReSharper folks that encoding type information in variable names sucks, that's why we're using a strongly typed programming language like C# in the first place.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ They suggest that higher-order functions are the true measure of dynamic programming, and some languages "use eval as a poor man's substitute for higher-order functions."
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

.Learning ALGOL will teach you the basis of block-structured languages and structured programming concepts.^ I quickly learned that a lot of the features I'd considered as language bloat a couple of months ago actually made a lot of sense if you're familiar with the advantages of dynamic and functional programming approaches to the tasks of software development.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

Simula 
was the first object-oriented language developed in 1967 using ALGOL-60 as a basis (much as C++ used C). It was originally conceived as a simulation language (hence the name) to model real world systems. As ALGOL had been a block-structured language with blocks entered on the stack as they were called and deleted from the stack when exited, Simula liberated programs from this restriction. Thus a block could be entered but when the code exited, the block persisted on the heap, rather than on the stack – thus the object was born. However, unlike records and structures (structs) of other languages, procedures were associated with this saved block so a programmer could define an entire algebra to manipulate entities. Thus variables declared as part of the outer block (class) persisted beyond the original invocation of the block code (which would now be considered a constructor or creation routine). Local variables and arguments to the procedures in the class would be pushed on the stack when called and popped when exited, but would manipulate the object’s persistent state. Class facilities could be abstracted by use of inheritance. Simula also included a sophisticated concurrency paradigm. Learning Simula will teach you object-oriented and simulation concepts along with concurrency concepts and the use of coroutines and cooperating processes.
Smalltalk 
was developed by .Adele Goldberg, Alan Kay (the real inventor of Windows) and others at Xerox PARC. It is an object-oriented language with a natural language syntax.^ I love the REPL, I love the flexibility that comes from having natural support tuples in the language and I love the more compact syntax.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

.It is a typeless language and thus very flexible and dynamic, resulting in quick turn around of code, but can result in exceptions at run time that would have been caught at compile time by a typed language.^ This is where the dynamic type from C# 4.0 would be very useful.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ In a duck-typed language, the equivalent function would take an object of any type and call that object's walk and quack methods.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ Extension Methods help blend the flexibility of "duck typing" support popular within dynamic languages today with the performance and compile-time validation of strongly-typed languages.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

.Its concepts were the basis of Objective-C. Learning Smalltalk will teach you object-oriented programming in a typeless language with a very different syntax.^ I quickly learned that a lot of the features I'd considered as language bloat a couple of months ago actually made a lot of sense if you're familiar with the advantages of dynamic and functional programming approaches to the tasks of software development.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ Categories: Programming January 5, 2008 @ 07:55 AM Comments [9] Python vs C# 3.0: Tuples vs. Anonymous Types (Redux) One of the things to keep in mind when learning a new programming language is that it isn’t enough to learn the syntax and semantics of various language features you are unfamiliar with.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ My next step [now that the rigors of buying the house and planning the wedding are over] is to broaden my programming horizons by learning a radically different programming language from my comfort zone, Python and C# respectively, while not harming my personal life or work habits.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

C++ 
.C++ (pronounced "see plus plus") is a general-purpose, object-oriented, statically typed, free-form, multi-paradigm programming language supporting procedural programming, data abstraction, and generic programming.^ In a duck-typed language, the equivalent function would take an object of any type and call that object's walk and quack methods.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ Taking that file as input, the compiler generates code to be used to easily build RPC clients and servers that communicate seamlessly across programming languages.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ The word on the street has been that their dynamic nature makes developers more productive that those of us shackled to statically typed languages like C# and Java.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

.During the 1990s, C++ became one of the most popular computer programming languages.^ In addition, C# 3.0 actually fixed one of the problems I'd encountered in my previous experience with a dynamic programming language while in college.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ PS: Shame on Pete for equating dynamic languages with the runtimes for certain popular Open Source dynamic programming languages.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ I'm not interested in a one-liner contest, necessarily, but it does seem to me that a basic natural sort shouldn't require the 40+ lines of code it takes in most languages.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

.Bjarne Stroustrup from Bell Labs was the designer and original implementer of C++ (originally named "C with Classes") during the 1980s as an enhancement to the C programming language.^ IO; namespace Name_agram{ class Program { static void Main( string [] args){ var names = from line in File .
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ The capability of a programming language to treat functions as first class objects that can be the input(s) or the output(s) of a function call is a key feature of many of today's popular "dynamic" programming languages.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

.Enhancements started with the addition of classes, followed by, among many features, virtual functions, operator overloading, multiple inheritance, templates, and exception handling, these and other features are covered in detail in several Wikibooks on the subject.^ I consider this feature to be the new incarnation of operator overloading.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ One of the features I started building before going with the Google Social Graph API was a quick way to provide the follower counts for a batch of users.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ The capability of a programming language to treat functions as first class objects that can be the input(s) or the output(s) of a function call is a key feature of many of today's popular "dynamic" programming languages.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

The C++ programming language standard was ratified in 1998 as ISO/IEC 14882:1998, the current version of which is the 2003 version, ISO/IEC 14882:2003.
The 1998 C++ Standard consists of two parts: the Core Language and the Standard Library; the latter includes the Standard Template Library and C's Standard Library. .Many C++ libraries exist which are not part of the Standard, such as Boost.^ IronPython doesn't have a number of standard libraries that are used in the book such as os, xml.dom, UserDict, sgmllib and so on.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

.Also, non-Standard libraries written in C can generally be used by C++ programs.^ Taking that file as input, the compiler generates code to be used to easily build RPC clients and servers that communicate seamlessly across programming languages.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ IronPython doesn't have a number of standard libraries that are used in the book such as os, xml.dom, UserDict, sgmllib and so on.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

Features introduced in C++ include declarations as statements, function-like casts, new/delete, .bool, reference types, const, inline functions, default arguments, function overloading, namespaces, classes (including all class-related features such as inheritance, member functions, virtual functions, abstract classes, and constructors), operator overloading, templates, the :: operator, exception handling, run-time type identification, and more type checking in several cases.^ It should be noted that “open classes” in Ruby come with a bunch more features than extension methods in C# 3.0.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ For example, in the Top Stories feature of RSS Bandit I have some code that operates on a URL, its weighted score and a list of all the posts that reference it.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

^ I hit a rather frustrating bug where half the time I tried to run my application it would end up hanging and I'd have to try again after several minutes .
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

Comments starting with two slashes ("//") were originally part of BCPL, and was reintroduced in C++. .Several features of C++ were later adopted by C, including const, inline, declarations in for loops, and C++-style comments (using the // symbol).^ I tried to take a feature that was meant to be coupled with C# 3.0’s declarative Language Integrated Query (LINQ) and use it in the traditional imperative loop constructs I’ve been familiar with since my days programming in C. .
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

Visual Basic 
Visual Basic (VB) is one of the worlds most commonly used programing languages. This is because of it's simplicity and ease of use. One of the most basic functions of VB is the message box command. If I wanted to make a message box appear with a chosen message, all i would have to type would be: msgbox "hello word"
Java 
Java 2 Micro Edition

Additional Information

Editors

It is said that a programmer's best friend is the editor. .A good editor is lightweight, has only essential tools and should support syntax highlighting for your language.^ I love the REPL, I love the flexibility that comes from having natural support tuples in the language and I love the more compact syntax.
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

Examples of good editors for which we have teaching books are (alphabetically):
Vim Development stage: 100% (as of Feb 7, 2005)(Feb 7, 2005)
An abbreviation of Vi Improved, this editor is modelled on the classic Unix editor vi. .However, Vim is a much more modern editor with an optional graphical interface and quite a few features vi doesn't have, making it the editor of choice for someone experienced with vi.^ It doesn’t make much sense to show people a “submit to reddit” button if they don’t use reddit .
  • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

For more text editors, see Wikipedia's text editor category.

Tools

.
  • gcc, a free compiler collection (Ada, C, C++, Fortran, Java, Objective-C, Objective-C++).
  • make, the most popular build scripting language.
  • Apache Ant, an XML-based build scripting language similar to Make.
  • Some people use an integrated development environment (IDE) while programming.^ In recent years, platforms based on dynamic languages such as Ruby On Rails and Django have become increasingly popular for building Web applications as they offer simpler development options compared to using "enterprise" platforms like Java.
    • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

    ^ Taking that file as input, the compiler generates code to be used to easily build RPC clients and servers that communicate seamlessly across programming languages.
    • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

    ^ At what point do you decide that it makes more sense to keep going with your in-house programming language versus participating in the ecosystem of developer tools that exist around these technologies?
    • Dare Obasanjo aka Carnage4Life - Programming 3 February 2010 17:34 UTC www.25hoursaday.com [Source type: General]

  • Some people use a version control system. Such systems make it much easier to answer "Last week's version worked. This week's version doesn't. What changed?".

Popular libraries

Unix native
Windows "native"
  • DirectX
  • Managed DirectX
Cross platform

Format Reference

  • Poor Text Format

Misc

Bibliography



Simple English

Programming is telling a computer how to do certain things by giving it instructions. These instructions are called programs. A person who writes instructions is a computer programmer. These instructions come in different languages; they are called programming languages. Sometimes programmers use special software which helps them to make programs, and sometimes they use simpler software, called a text editor, which only gives them a place to type.

Compiler

A program is a set of instructions for the computer to follow. Making these instructions in "computer form" would be tedious and difficult, so instructions are written in quasi-English, which has to be turned into "computer form" instructions so the computer can follow them. A compiler is what we call the translator from the half-English language to the computer language. Some languages, called interpreted languages, use interpreters instead of compilers.

Executables

Once a program has been compiled, the instructions in "machine form" are written into a file that contains a series of numbers that the computer can understand. These files are generally called "executables". These machine-instructions will be loaded into the computer's memory so that the CPU can run them when the executable is opened.


Citable sentences

Up to date as of December 27, 2010

Here are sentences from other pages on Computer programming, which are similar to those in the above article.








Got something to say? Make a comment.
Your name
Your email address
Message