JavaScriptCoffeeScriptRubyAssemblyCC++ElixirErlangLanguages
Current Working Area



C++

Books

1 - The C++ Programming Language - Bjarne Stroustrup - 1368 pages - Amazon - 4th Edition (C++11) - Copyright © May 19, 2013 Addison-Wesley Professional
2 - Programming: Principles and Practice Using C++ (C++11 and C++14) - Bjarne Stroustrup - 1312 pages - Amazon - 2nd Edition - Copyright © June 2, 2014 Addison-Wesley Professional
3 - A Tour of C++ (C++ In-Depth Series) – Bjarne Stroustrup - 192 pages - Amazon - 1st Edition - Copyright © September 16, 2013 Addison-Wesley Professional
4 - C++ Primer Plus - Stephen Prata - 1213 pages + Index - Amazon - 6th Edition - Copyright © January 2012 Pearson Education, Inc.

The Definitive C Book Guide and List - stackoverflow
C - Dennis Ritchie - Dennis M. Ritchie's homepage - Dennis Ritchie's video interview June 2011 - Ken Thompson - Unix - unix.org - UNIX Programmer's Manual - Unix First Edition Manuals
Ken Thompson - C Language - Systems Architecture, Design, Engineering, and Verification
Good C IDE for Mac? - stackoverflow
Is there an easier way to type and compile C on Mac OS X? - stackoverflow
Welcome to Vim Vimeo - derekwyatt.org
How to run mvim (MacVim) from Terminal? install: $ brew install macvim --- $ mvim -v - terminal: version 7.4.258 - works! :-) - :quit - stackoverflow
GCC and Make - Compiling, Linking and Building C/C++ Applications
The Basics of C Programming - howstuffworks.com
C11 (C standard revision) WP
thenewboston.com




The C++ Programming Language 4th Edition (C++11) - Bjarne Stroustrup WP - Copyright © June 2013 by Pearson Education, Inc. - stroustrup.com - video courses - BEST WAY TO LEARN C++!!!

Contents

Preface - v
Preface to the Fourth Edition - v
Preface to the Third Edition - ix
Preface to the Second Edition - xi
Preface to the First Edition - xii

Part I: Introductory Material - 1
1. Notes to the Reader - 3
2. A Tour of C++: The Basics - 37
3. A Tour of C++: Abstraction Mechanisms - 59
4. A Tour of C++: Containers and Algorithms - 87
5. A Tour of C++: Concurrency and Utilities - 111

Part II: Basic Facilities - 133
6. Types and Declarations - 135
7. Pointers, Arrays, and References - 171
8. Structures, Unions, and Enumerations - 201
9. Statements - 225
10. Expressions - 241
11. SelectOperations - 273
12. Functions - 305
13. ExceptionHandling - 343
14. Namespaces - 389
15. Source Files and Programs - 419

Part III: Abstraction Mechanisms - 447
16. Classes - 449
17. Construction, Cleanup, Copy, and Move - 481
18. Overloading - 527
19. SpecialOperators - 549
20. DerivedClasses - 577
21. ClassHierarchies - 613
22. Run-Time Type Information - 641
23. Templates - 665
24. GenericProgramming - 699
25. Specialization - 721
26. Instantiation - 741
27. Templates and Hierarchies - 759
28. Metaprogramming - 779
29. A Matrix Design - 827

Part IV: The Standard Library - 857

Index - 1281



Preface

v - C++ feels like a new language - that is, I can express my ideas more clearly, more simply, and more directly in C++11 than I could in C++98 - furthermore, the resulting programs are better checked by the compiler and run faster - ... - there are billions of lines of C++ deployed. This puts a premium on stability, so 1985 and 1995 C++ code still works and will continue to work for decades. However, for all applications, you can do better with modern C++; if you stick to older styles, you will be writing lower-quality and worse-performing code. The emphasis on stability also implies that standards-conforming code you write today will still work a couple of decades from now. All code in this book conforms to the 2011 ISO C++ standard.
This book is aimed at three audiences:
• C++ programmers who want to know what the latest ISO C++ standard has to offer,
• C programmers who wonder what C++ provides beyond C, and
• People with a background in application languages, such as Java, C#, Python, and Ruby, looking for something ‘‘closer to the machine’’ – something more flexible, something offering better compile-time checking, or something offering better performance.
Naturally, these three groups are not disjoint – a professional software developer masters more than just one programming language. This book assumes that its readers are programmers. If you ask, ‘‘What’s a for-loop?’’ or ‘‘What’s a compiler?’’ then this book is not (yet) for you; instead, I recommend my Programming: Principles and Practice Using C++ to get started with programming and C++. Furthermore, I assume that readers have some maturity as software developers. If you ask ‘‘Why bother testing?’’ or say, ‘‘All languages are basically the same; just show me the syntax’’ or are confident that there is a single language that is ideal for every task, this is not the book for you

ix - Preface to the 3rd edition - ... - offers themes to most experienced C++ programmer - at the same time, book is easier for the novice to approach than its predecessors were - the explosion of C++ use and the massive amount of experience accumulated as a result makes this possible - ... - the tutorial chapters present language constructs and concepts in a ‘‘bottom up’’ order so that a construct is used only after it has been defined - the standard library can be used to provide realistic and interesting examples well before a reader can be assumed to understand its inner workings - book presents every major C++ language feature and the standard library - ... - the primary aim of this book is to help the reader understand how the facilities offered by C++ support key programming techniques - the aim is to take the reader far beyond the point where he or she gets code running primarily by copying examples and emulating programming styles from other languages - only a good understanding of the ideas behind the language facilities leads to mastery - supplemented by implementation documentation, the information provided is sufficient for completing significant real-world projects - the hope is that this book will help the reader gain new insights and become a better programmer and designer - ...

Yann Dauphin, Researcher and Bass player - Khan Academy :-) ♡
Difference between CC, gcc and g++? - stackoverflow









The Basics of C Programming

howstuffworks.com - 41 online pages - TW 94.8K - written by Marshall Brain, Founder of howstuffworks.com - Yann Dauphin, Researcher and Bass player - Khan Academy :-) ♡

p1 - C popular, widely used to create computer programs - programmers around the world embrace C because it gives maximum control and efficiency to the programmer - benefits of learning C: read and write code for large number of platforms, everything from microcontrollers to the most advanced scientific systems can be written in C, and many modern operating systems are written in C - jump to C++ easier, C++ extension of C - artikle walks through entire language and shows how to become programmer starting from beginning - we will be amazed at all of the different things we can create once we know C!
p2 - ...
p3 - Start Hello world, write in editor, save file as helloworld.c:
#include

int main()
{
   printf("Hello world!\n");
   return 0;
}

compiling steps on UNIX machine: type gcc helloworld.c -o helloworld (if gcc does not work, try cc) - this line invokes the C compiler called gcc, asks it to compile helloworld.c and asks it to place the executable file it creates under the name helloworld - to run the program, type ./helloworld (or, on some UNIX machines, helloworld) - should see the output "Hello world!" when we run the program. Here is what happened when we compiled the program: (if we mistype the program, it either will not compile or it will not run - edit it again and see where we went wrong in our typing - fix the error and try again)
p4 - explain Hello World ...
p5 - VARIABLES - int b; // type integer --- b = 5; // stores value 5 --- standard types for variables: int - integer (whole number) values --- float - floating point values --- char - single character values (such as "m" or "Z")
p6 - printf statement allows you to send output to standard out - for us, standard out is generally the screen (although we can redirect standard out into a text file or another command) - learn more about printf - create file add.c:
#include

int main()
{
   int a, b, c;
   a = 5;
   b = 7;
   c = a + b;
   printf("%d + %d = %d\n", a, b, c);
   return 0;
}

compile with gcc add.c -o add --- run with ./add (or add) - explanation: ... --- = is assignment operator - %d are placeholders for variables at end of line, C matches up the first %d with a and substitutes 5 there etc. - prints line to screen: 5 + 7 = 12 --- +, = and spacing (repeated spaces will also be printed) are part of the format as specified by the programmer
p7 - C ERRORS TO AVOID - Using the wrong character case - case matters in C, cannot type Printf or PRINTF, it must be printf - forgetting to use the & in scanf - too many or too few parameters following the format statement in printf or scanf - forgetting to declare a variable name before using it
--- Reading user values:
#include

int main()
{
   int a, b, c;
   printf("Enter the first value:");
   scanf("%d", &a);
   printf("Enter the second value:");
   scanf("%d", &b);
   c = a + b;
   printf("%d + %d = %d\n", a, b, c);
   return 0;
}

man scanf (opens manual) - q quits - man printf or man 3 printf -







<<< Current Working Area <<<








gcc --version
C syntax WP
C comments: // one line --- or /* multi-line or inside of code-line */
Show file in shell: cat hat tail tac (reverse output)
Syntax across languages
cprogramming.com - Tutorials C C++ Java Game_Programming Graphics_Programming - Alex Allain TW 2K - works at Dropbox - Computer Science teacher at Harvard
The Definitive C Book Guide and List - The Definitive C++ Book Guide and List - stackoverlow - Bjarne Stroustrup: Why the Programming Language C Is Obsolete YT - The Essence of C++ YT
Compiled vs. Interpreted Languages - stackoverflow
C Language Tutorial
High-level programming language WP - 1960s high-level languages using compiler called autocodes - examples are COBOL 1959 (common business-oriented language), introduced records (structs) and Fortran 1957 (Formula Translating System) - First high-level language was Pankalkül 1948 - Algol 1958 (Algorhythmic Language), introduced recursion, nested functions, lexical scope, distinction between value and name parameters and their corresponding semantics, structured programming concepts while-do if-then-else, syntax first to be described by a formal method called BNF (Backus-Naur form) - Lisp 1958 (LISt Processing), introduced a fully general lambda abstraction - unlike low-level assembly languages, high-level languages have few, if any, language elements that translate directly into a machine's native opcodes - popular high-level programming languages today may include C++, Java, Python, Visual Basic, Delphi, Perl, PHP, ECMAScript, Ruby and many others - some decades ago, C language, and similar languages, were most often considered "high-level" - assembly language was considered "low-level" - today, many programmers might refer to C as low-level, as it lacks a large runtime-system (no garbage collection, etc.), basically supports only scalar operations, and provides direct memory addressing - it, therefore, readily blends with assembly language and the machine level of CPUs and microcontrollers - alternatively, it is possible for a high-level language to be directly implemented by a computer – the computer directly executes the HLL code - lacks an assembler, having only a compiler, with machine code simply being a bytecode representation of a HLL program - HLLCAs are intuitively appealing, and have had occasional popularity over the years, but have been very minor compared to general-purpose computers that are not adapted to any particular language - HLLCAs date to the Burroughs large systems (1961), which was designed for ALGOL (1960), and the most well-known HLLCAs are the Lisp machines of the 1980s (for Lisp, 1959) - at present the most popular HLLCAs are Java processors, for Java (1995), and these are a qualified success, being used for certain applications
Timeline of programming languages WP - History of programming languages WP
C++ WP
GNU WP - gnu.org - Richard Stallman WP - born March 16, 1953 New York - Richard Stallman: We're heading for a total disaster YT - Richard Stallman at UofC YT -
Linux (1991) WP - linux.com - Linus Benedict Torvalds WP - born December 28, 1969 Helsinki, Finland - master's degree in computer science Helsinki 1988-96 - DebConf14: QA with Linus Torvalds YT







Vocabularies

old

aggregation - Ansammlung, Anhäufung, Verdichtung, Gesamtsumme, Aggregat, Aggregation, Vereinigung, Zusammenfassung - ch1
hence - daher, deswegen, folglich, demzufolge, infolgedessen ab jetzt ... ch2
implementation - Umsetzung, Ausführung, Anwendung, das Implementieren, Inkraftsetzung, Durchführung ...- ch1
indispensable - unabdingbar, unerlässlich, unumgänglich, lebensnotwendig ... - ch1
instance - ch1
leverage - zum Durchbruch verhelfen, wirksam einsetzen ... - ch1
parentheses - Klammern
plrthora - Unmenge, Vielfalt, Überfluss ... - ch1
property - Eigenschaft, Merkmal ... - properties - Verhalten, Bestandteile, Wirkung, Wirksamkeit ... - ch1
notion - Idee ... - ch1
tweak - optimieren, zwicken - ch1

<span> - spanned text (small) --- <div> - division (large) stackoverflow.com
&nbsp; - non-breaking space


Komodo Edit - Key Commands (Bindings / Shortcuts)

key bindings: Meta = command key

shift+command +space = &nbsp (non-breaking space)
+0 = col orange
--- +2 = duplicate file
--- +3 = screenshot (Mac)
--- +6 = view EOL markers
--- +7 = search
+8 = col red
+9 = col light_blue
+a = <a href> URL link
+c = id="c"
+d = day session
+h = <h3> heading
+i = <img> image
+j = <script>
+k = <kbd> keyboard monospace
+o = ♡
+p = <p> paragraph
+s = save as
+x = typeof
+> = //> command >
shift + return = <br/> break
command + < = jump to

Shift + command at a color code or name = shows color in Komodo :-)

Chrome command + alt/option + j = JS Console



MacBook Pro Keys English & German

- --- ß
ß - ...
: - Ö
; - ö
< - ;
> - :
+ --- `
? - _
_ --- ?
' - ä
" - Ä
[ - option/alt 5
] - option/alt 6


Google Chrome Developer Tools - JavaScript Console refresh: window.location.reload(true);


Shell commands

Basic Shell Commands - Jeremy Sanders - October 2011
An A-Z Index of the Bash command line for Linux

cd - home directory (change directory)
cd folder-name - change directory to folder
cd dir1/dir2/dir3... - change directory to folder
eject - eject removable media
exit - exit the shell
pwd - show working directory
date - shows current day, date and time GMT
# - comment
mkdir folder-name - make a directory (folder)
rmdir folder-name - remove a directory (file)
rm file-name - remove file
ls folder-name - shows list of files or folders
process.exit() - exit / quit
control + c - exit / quit --- press twice!
dc - desc calculator --- works with postfix notation; rather like many HP Calculators - basic arithmetic uses the standard + - / * symbols, but entered after the digits - so entering: 100 0.5 * p will return 50 --- q - quit
echo "something" - shell output: something
echo something - something
echo 5 + 4 --- 5 + 4
echo $PATH - shows path
nano - simple text editor, exit with command + x (^X), save etc.
bzip2 - compress or decompress named file(s)
cal - display a calendar
clear - clear terminal screen
rename - rename files
sudo - sxecute a command as another user
uname - print system information --- Darwin
whoami - print user-name
which - search the user's $path for a program file
who - print all user-names
### - comment / remark

Vocabularies

1/1 - one whole
7/8 - seven over eight, seven out of eight, seven eighth
altitude - Höhenlage, Höhe ...
numerator - Zähler
perimeter - Umfangslänge
denominator - Nenner
elevation - Bodenerhebung
gravel - Kies



Vocabularies

scope - Bereich, Spielraum, Umfang, Geltungsbereich, Reichweite, Handlungsspielraum, Abgrenzung, Aufgabenbereich, Bandbreite, Betätigungsfeld, Entfaltungsmöglichkeiten, Rahmen, Raum, Regelungsbereich ...



Links

New

Go (programming language) WP - golang.org - Ken Thompson, Rob Pike, Robert Griesemer, Google Inc. - 2009 - filename.go - Google I/O 2012 - Meet the Go Team YT - Google I/O 2012 - Go Concurrency Patterns - Rob Pike YT - Why Learn Go? Rob Pike YT
List of programmers

Computer Science

UNIX 1970 Assembly - 1972 C C 1972 C++ 1983 Python 1991 HTML 1993

CSS 1994 PHP 1995 Java 1995 Ruby 1995 JavaScript 1995

CoffeeScript 2009 GNU Linux Apple Windows

Computer science - Charles Babbage 26.12.1791 – 18.10.1871 England - Ada Lovelace 10.12.1815 – 27.11.1852 England - Programming language - syntax (form) and semantics (meaning) - the term computer language is sometimes used interchangeably with programming language - 1943 Plankalkül - 1949 Short Code - 1950 Autocode using compiler to convert automatically into machine code - Flow-Matic 1955 - Cobol - Aimaco - Fortran
APL - Algol - Simula and Smalltalk (object-oriented) - C 1969 - Prolog (logical) 1972 - ML and Lisp 1978 - most modern programming languages count at least one of them in their ancestry
1980s consolidation - C++ Ada Pascal Modula2 PL/I
Growth of Internet mid-1990s created new languages - Perl dynamic websites - Java server-side - Microsoft's LINQ - JavaScript 1995
4GL (4th generation programming languages) domain-specific languages - SQL returns sets of data - Perl can hold multiple 4GLs or JavaScript programs
If language can run its commands through an interpreter (such as a Unix shell or other command-line interface), without compiling, it is called a scripting language

Programs can 1) occupy more programmer hours 2) have more code lines 3) utilize more CPU time - difficult to determine most widely used programs: COBOL strong in corporate data center - Fortran in scientific and engineering applications - Ada in aerospace, transportation, military, real-time and embedded applications - and C in embedded applications and operating systems - other languages regularly used for different applications - Combining and averaging information from various internet sites, langpop.com claims that in 2013 the ten most popular programming languages are (in descending order by overall popularity):
C 1972 by Dennis Ritchie
Java 1995 by James Gosling and Sun Microsystems
PHP 1995 by Rasmus Lerdorf
JavaScript 1995 by Brendan Eich
C++ 1983 by Bjarne Stroustrup
Python 1991
Shell 1950s
Ruby 1995
Objective-C 1983 by Apple Inc.
C# 2000 by Microsoft
11-Assembly ( What is int 80h? by G. Adam Stanislav) - 12-SQL 1974 by Donald D. Chamberlin and Raymond F. Boyce - 13-Perl 1987 by Larry Wall - 19-Actionscript (dialect of ES and JS used for Flash Adobe) - 20-Coldfusion by Adobe, Jeremy Allaire and JJ Allaire - 23-Pascal 1970 by Niklaus Wirth - 25-Scheme 1975 (2nd dialect of Lisp) by Guy L. Steele and Gerald Jay Sussman - 27-Lisp 1958 by Steve Russell, Timothy P. Hart, and Mike Levin - 29-Erlang 1986 by Ericsson - 30-Fortran 1957 by John Backus - 34-Smalltalk 1972 (dev since 1969) by Alan Kay, Dan Ingalls, Adele Goldberg etc. - ...
Comparison of programming languages - Python not a standardized language?
Top 10 Programming Languages - Spectrum’s 2014 Ranking
What Is The Most Valuable Programming Language To Know For The Future And Why? - Forbes

Redhead Talk - G. Adam Stanislav, born 23.4.1950 in Bratislava, Slovakia - whizkidtech.redprince.net - redprince.net - pantarheon.org

Programming

Bjarne Stroustrup: The 5 Programming Languages You Need to Know - C++ Java Python Ruby JavaScript C C# - and one of the functional languages - Why I Created C++
Larry Wall, creator of Perl: 5 Programming Languages Everyone Should Know - JavaScript Java Haskell C (Python Ruby) Perl
Ruby Conf 2013 Living in the Fantasy Land by Yukihiro "Matz" Matsumoto - creator of Ruby
Five Best Programming Languages for First-Time Learners - lifehacker.com
Are JavaScript and C++ too similar to learn at the same time? - stackoverflow.com
30 Most Influential People In Programming
Java - java.com - JVM Java virtual machine - James Gosling - nighthacks.com - Oracle Academy
What is a good road map for learning Java? - reddit.com
10 Ways to Learn Java in just a Couple of Weeks - codingbat.com - Java Puzzles Joshua Bloch
What is the best way to learn Java from scratch and how many hours do I need to put in? - quora.com
Top 10 Most Influential Software Programmers - how can i become a good programmer - code.org
Top 10 Java Books you don’t want to miss
How do I learn to code? What language should I start with? - quora.com
Structure and Interpretation of Computer Programs - second edition - Harold Abelson and Gerald Jay Sussman with Julie Sussman - Lisp - Scheme
14-Year-Old Prodigy Programmer Dreams In Code - Santiago Gonzalez - hicaduda.com - Is Prodigy Programmer The Next Steve Jobs?
Information technology (IT)



Sessions

Session 1 - Tue 2015-2-10 London 1:45-4:10=2:25 R CoffeScript ♡♡♡ Alex MacCaw - Jeremy Ashkenas - Backbone.js Underscore.js = 2:25 = 2:25 total time

January 2015 - 31 Sessions, 279:35 total time = (34d+) 7:35 total time - (+ December 2014 =) 344:40 = (43d+) 0:40 complete total time
December 2014 - 9 Sessions, 65:05 total time = (8d+) 1:05 total time

________ Start February 2015 --- End of January 2015 ________




  
Feroniba Ramin Hassani - IDL eG - GitHub


     









More coming soon :-)



Website counter