background preloader

Programming Paradigms (Stanford)

Programming Paradigms (Stanford)

Compiler A diagram of the operation of a typical multi-language, multi-target compiler A compiler is a computer program (or set of programs) that transforms source code written in a programming language (the source language) into another computer language (the target language, often having a binary form known as object code).[1] The most common reason for wanting to transform source code is to create an executable program. Program faults caused by incorrect compiler behavior can be very difficult to track down and work around; therefore, compiler implementors invest significant effort to ensure compiler correctness. The term compiler-compiler is sometimes used to refer to a parser generator, a tool often used to help create the lexer and parser. History[edit] Software for early computers was primarily written in assembly language. Towards the end of the 1950s, machine-independent programming languages were first proposed. Compilers in education[edit] Compilation[edit] Structure of a compiler[edit]

Low Level Bit Hacks You Absolutely Must Know I decided to write an article about a thing that is second nature to embedded systems programmers - low level bit hacks. Bit hacks are ingenious little programming tricks that manipulate integers in a smart and efficient manner. Instead of performing some operation (such as counting the 1 bits in an integer) by looping over individual bits, these programming nuggets do the same with one or two carefully chosen bitwise operations. To get things going I'll assume that you know what the two's complement binary representation of an integer is and also that you know all the the bitwise operations. I'll use the following notation for bitwise operations in the article: & - bitwise and | - bitwise or ^ - bitwise xor ~ - bitwise not << - bitwise shift left >> - bitwise shift right The numbers in the article are 8 bit signed integers (though the operations work on arbitrary length signed integers) that are represented as two's complement and they are usually named 'x'. Here we go. Bit Hack #1. 1. 2.

Interpreter (computing) parse the source code and perform its behavior directlytranslate source code into some efficient intermediate representation and immediately execute thisexplicitly execute stored precompiled code[1] made by a compiler which is part of the interpreter system While interpretation and compilation are the two main means by which programming languages are implemented, they are not mutually exclusive, as most interpreting systems also perform some translation work, just like compilers. The terms "interpreted language" or "compiled language" signify that the canonical implementation of that language is an interpreter or a compiler, respectively. A high level language is ideally an abstraction independent of particular implementations. An illustration of the linking process. At the stage of compilation, in fact compilers act as interpreters and patch together such binary executables from an object code library defining which binary code sequence is named which command name.

[C#] useful nippets C# for beginners Perl Though Perl is not officially an acronym,[5] there are various backronyms in use, such as: Practical Extraction and Reporting Language.[6] Perl was originally developed by Larry Wall in 1987 as a general-purpose Unix scripting language to make report processing easier.[7] Since then, it has undergone many changes and revisions. The latest major stable revision of Perl 5 is 5.18, released in May 2013. Perl 6, which began as a redesign of Perl 5 in 2000, eventually evolved into a separate language. Both languages continue to be developed independently by different development teams and liberally borrow ideas from one another. History[edit] Early versions[edit] Wall began work on Perl in 1987, while working as a programmer at Unisys,[9] and released version 1.0 to the comp.sources.misc newsgroup on December 18, 1987.[14] The language expanded rapidly over the next few years. Perl 2, released in 1988, featured a better regular expression engine. Early Perl 5[edit] 2000–present[edit] Name[edit]

[C#] useful nippets C# for advanced List of programming languages The aim of this list of programming languages is to include all notable programming languages in existence, both those in current use and historical ones, in alphabetical order, except for dialects of BASIC and esoteric programming languages. Note: Dialects of BASIC have been moved to the separate List of BASIC dialects. Note: This page does not list esoteric programming languages. A[edit] B[edit] C[edit] D[edit] E[edit] F[edit] G[edit] H[edit] I[edit] J[edit] K[edit] L[edit] M[edit] N[edit] O[edit] P[edit] Q[edit] R[edit] S[edit] T[edit] U[edit] V[edit] W[edit] X[edit] Y[edit] Z[edit] See also[edit]

10 places where anyone can learn to code Teens, tweens and kids are often referred to as “digital natives.” Having grown up with the Internet, smartphones and tablets, they’re often extraordinarily adept at interacting with digital technology. But Mitch Resnick, who spoke at TEDxBeaconStreet, is skeptical of this descriptor. Sure, young people can text and chat and play games, he says, “but that doesn’t really make you fluent.” Mitch Resnick: Let's teach kids to code Fluency, Resnick proposes in this TED Talk, comes not through interacting with new technologies, but through creating them. The point isn’t to create a generation of programmers, Resnick argues. In his talk, Resnick describes Scratch, the programming software that he and a research group at MIT Media Lab developed to allow people to easily create and share their own interactive games and animations. At Codecademy, you can take lessons on writing simple commands in JavaScript, HTML and CSS, Python and Ruby. While we’re at it: bonus!

C (programming language) C is one of the most widely used programming languages of all time,[8][9] and C compilers are available for the majority of available computer architectures and operating systems. C is an imperative (procedural) language. It was designed to be compiled using a relatively straightforward compiler, to provide low-level access to memory, to provide language constructs that map efficiently to machine instructions, and to require minimal run-time support. C was therefore useful for many applications that had formerly been coded in assembly language, such as in system programming. Despite its low-level capabilities, the language was designed to encourage cross-platform programming. A standards-compliant and portably written C program can be compiled for a very wide variety of computer platforms and operating systems with few changes to its source code. The C language also exhibits the following characteristics: The cover of the book, The C Programming Language For example:

Бази данни - юни 2015 - Софтуерен университет Бази данни - юни 2015 Бази данни - юни 2015 16 June 2015 4 седмици 6 Курсът по бази данни ще ви запознаe с широко използвани системи за управление на бази данни (DBMS), използвани при разработката на съвременни информационни системи - SQL Server, MySQL и MongoDB. Курсът обръща сериозно внимание на релационния модел, моделирането на данни с ER диаграми (таблици и релационни връзки) и работата езика SQL (извличане на данни, селекция, проекция, съединения, агрегация, групиране, промяна, изтриване и вмъкване), както и на документния модел при NoSQL базите. Какви умения ще придобия? Работа с MongoDb, Redis, E/R Diagrams Познания по SQL, T-SQL, MySQL, NoSQL Database Fundamentals Крайният срок за записване е 14 юни 2015 г. Обучението завършва на 12 юли 2015 г. с практически изпит (по желание).

Generational list of programming languages Here, a genealogy of programming languages is shown. Languages are categorized under the ancestor language with the strongest influence. Of course, any such categorization has a large arbitrary element, since programming languages often incorporate major ideas from multiple sources. ALGOL based[edit] APL based[edit] BASIC based[edit] Batch languages[edit] C based[edit] COBOL based[edit] COMIT based[edit] DCL based[edit] DCLWindows PowerShell (also under C#, ksh and Perl) ed based[edit] Eiffel based[edit] Forth based[edit] Fortran based[edit] FP based[edit] HyperTalk based[edit] Java based[edit] JOSS based[edit] Lisp based[edit] ML based[edit] PL/I based[edit] Prolog based[edit] SASL Based[edit] SETL based[edit] sh based[edit] Sh Simula based[edit] Tcl based[edit] Others[edit] External links[edit] Diagram & history of programming languages

Related: