C/C++ Ebooks
C / C++ / C# / programming books collection
Note: if link does not work in internet explorer, use mozila firefox browser .. You can get it from right top corner of this site cause links are tested on it.
index of parent directory
APress A Programmer's Introduction to C%23.pdf 07-Dec-2006 14:38 1.0M
Addison Wesley - From Java to C Sharp%5b2003%5d.chm 07-Dec-2006 14:40 1.8M
Addison Wesley - Tcl and the Tk Toolkit%5b1993%5d.pdf 07-Dec-2006 14:41 1.4M
Addison.Wesley.Advanced.CORBA.Programming.with.C++.pdf 07-Dec-2006 14:44 4.8M
Addison.Wesley.C++.Network Programming,Volume.1.chm 07-Dec-2006 14:46 2.3M
Addison.Wesley.C++.Network Programming,Volume.2.chm 07-Dec-2006 14:48 2.2M
Addison.Wesley.C++.Primer, Third Edition.chm 07-Dec-2006 14:50 1.4M
Addison.Wesley.C++.Standard Library,The.A.Tutorial.and.Reference.chm 07-Dec-2006 14:52 3.4M
Addison.Wesley.C++.Templates-The.Complete.Guide.chm 07-Dec-2006 14:53 737k
Addison.Wesley.Designing.Components with the C++ STL.pdf 07-Dec-2006 14:54 1.1M
Addison.Wesley.Effcient.C++ Programming Techniques.pdf 07-Dec-2006 14:55 1.7M
Addison.Wesley.Efficient.C++ Performance Programming Techniques.chm 07-Dec-2006 14:56 886k
Addison.Wesley.Essential.C++.chm 07-Dec-2006 14:56 401k
Addison.Wesley.Essential.C++.djvu 23-Jan-2007 18:00 1.3M
Addison.Wesley.Essential.C++.pdf 07-Dec-2006 14:57 1.4M
Addison.Wesley.Exceptional.C++ - 47 Engineering Puzzles, Programming Problems, and Solutions.chm 07-Dec-2006 14:57 365k
Addison.Wesley.Inside.the C++ Object Model.chm 07-Dec-2006 14:58 658k
Addison.Wesley.Modern.C++ Design Generic Programming and Design Patterns Applied.chm 07-Dec-2006 14:59 816k
Addison.Wesley.Modern.C++ Design Generic Programming and Design Patterns Applied.pdf 07-Dec-2006 15:00 2.1M
Addison.Wesley.More.Exceptional C++.chm 07-Dec-2006 15:01 505k
Addison.Wesley.More.Exceptional C++.pdf 07-Dec-2006 15:02 1.2M
Addison.Wesley.The.C++ Standard Library-A Tutorial and Reference.chm 07-Dec-2006 15:05 3.4M
Algoritmit_-_C++/ 07-Dec-2006 15:29 -
Borland_C++_builder_unleashed/ 07-Dec-2006 15:29 -
C++ Network Programming Volume 1.chm 07-Dec-2006 15:07 2.3M
C++ Network Programming Volume 2.chm 07-Dec-2006 15:10 2.2M
C++ Templates - The Complete Guide (Addison Wesley-2002).chm 07-Dec-2006 15:12 737k
C++.Primer 3rd Edition CN.pdf 07-Dec-2006 15:13 92k
C++.Primer Plus Fourth Edition.chm 07-Dec-2006 15:18 5.9M
C++_Trainer_Kit/ 07-Dec-2006 15:29 -
C++_manual/ 07-Dec-2006 15:29 -
C++_tutorial/ 07-Dec-2006 15:30 -
C++_vol_1/ 07-Dec-2006 15:30 -
C++_vol_2/ 07-Dec-2006 15:30 -
C-Sharp Developer's Guide to ASP.NET XML & ADO.NET (Addison Wesley-2002).chm 07-Dec-2006 15:19 2.2M
C-Sharp Network Programming (Sybex-2003).chm 07-Dec-2006 15:21 6.1M
C___Builder_Unleashed/ 09-Dec-2006 04:34 -
Inside_C++_Ohjelmoijan_kasikirja/ 07-Dec-2006 15:34 -
Learn_C++_in_21_days/ 07-Dec-2006 15:34 -
MS Press - Inside C Sharp %5b2nd Edition, 2002%5d.chm 07-Dec-2006 15:24 8.6M
MS Press - Visual C Sharp .NET--Core Reference %5b2002%5d.chm 07-Dec-2006 15:26 5.0M
Microsoft_Visual_C++_6_Training_Kit/ 07-Dec-2006 15:34 -
OREILLY.PROGRAMMING.C.SHARP-CAUDEX/ 07-Dec-2006 15:35 -
Oreilly.Secure.Programming.Cookbook.For.C.And.Cpp.eBook-LiB/ 07-Dec-2006 15:35 -
Sams_Teach_Yourself_Visual_C++_5_in_24_Hours/ 09-Dec-2006 04:39 -
Sams_teach_yourself_C_in_21_days/ 09-Dec-2006 04:45 -
Sams_teach_yourself_Visual_C++_in_12_lessons/ 07-Dec-2006 15:37 -
Syngress C%23 for Java Programmers.pdf 07-Dec-2006 15:29 7.1M
Teach Yourself C++ in 21 days-2nd Edition/ 26-Jan-2007 09:53 -
Teach Yourself C++ in 21 days/ 07-Dec-2006 15:37 -
Teach Yourself Visual C In 12 Easy Lessons/ 07-Dec-2006 15:37 -
Thinking In C++ 2nd Edition/ 07-Dec-2006 15:40 -
Visual C 12/ 07-Dec-2006 15:41 -
Visual_C++_6_-_Ohjelmoijan_kasikirja/ 07-Dec-2006 15:41 -
csharp_in_detail_part1/ 09-Dec-2006 04:55 -
csharp_in_detail_part2/ 09-Dec-2006 05:11 -
database_developer's_guide_with_visual_c++_4_-_2nd/ 09-Dec-2006 05:28 -
teach_yourself_c++_in_21_days/ 07-Dec-2006 15:42 -
teach_yourself_cobol_in_21_days_-_2nd/ 09-Dec-2006 05:32 -
teach_yourself_visual_c++_5_in_24_hours/ 07-Dec-2006 15:42 -
visual_c++_in_12_easy_lessons/ 07-Dec-2006 15:42 -
visual_c++_unleashed/ 07-Dec-2006 15:42 -
http://glassparrot.org/Books/c_programming_ebooks/
index of parent directory
Parent Directory
(Ebook - Pdf) Visual Studio Net C# Study Guide.pdf
(eBook - EXE) Complete Visual C++ Tutorials.zip
(eBook) - program - C++ - ANSI - C++ Professional Programmer.pdf
A Deveoper's Guide to Visual Basic.NET.pdf
APIreginvb.txt
Addison Wesley - Designing Components with the C++ STL.pdf
C++ By Dissection.ebook-pdf.pdf
C++ In A Nutshell (O_Reilly-2003).chm
C++Builder.pdf
Sams.Teach.Yourself.Visual.Studio.Dot.Net.2003.In.21Days.eBo.chm
Teach Yourself ANSI C++ in 21 Days - Ebook.pdf
Teach Yourself Visual Basic In 24 Hours.doc
TeachYourselfVisualC++In21Days.pdf
Thinking In C++ Vol2.pdf
VBerrordescriptions.txt
Visual Studio C++ .NET ebook.pdf
Visual Studio Net C# For Dummies Quick Reference Guide.pdf
c++tutorial_makingRAT.txt
cpp%20critique_TXT.htm
Directory link to download:
http://www.2sik.net/~lataf/Papers/Programming/index of parent directory
Addison Wesley - Efficient C++, Performance Programming Tech.pdf 1.3M Adobe PDF eBook
Addison Wesley - C++ Primer (3rd Edition).chm 1.4M Compiled HTML eBook
Addison Wesley - C++ Standard Library, A Tutorial and Reference.chm 3.4M Compiled HTML eBook
Addison Wesley - Essential C++.chm 401k Compiled HTML eBook
No Starch Press - How Not To Program In C++ [2003].chm 796k Compiled HTML eBook
O'Reilly - C++ in a Nutshell.chm 1.2M Compiled HTML eBook
Prentice Hall - Learning to Program in C++ [2000].chm 11.0M Compiled HTML eBook
directory link to download:
http://www.discordiaphile.com/books/C++/?D=A
index of parent diorectory
Borland, C++Builder Unleashed.tar.bz2 16-Mar-2006 23:03 533k
C++ Builder 5 (PL).tar.bz2 16-Mar-2006 23:16 13.3M
C++ Builder 5 - cwiczenia Praktyczne (PL).tar.bz2 16-Mar-2006 23:17 815k
C++ Builder Unleashed.tar.bz2 16-Mar-2006 23:42 3.9M
C++ dla kazdego (PL).tar.bz2 16-Mar-2006 23:43 1.8M
Cpp.Builder.5.Cwiczenia.Praktyczne.(PL).tar.bz2 16-Mar-2006 23:47 1.2M
Database Developer's Guide with Visual C++ 4 %5bSE%5d.tar.bz2 16-Mar-2006 23:51 3.0M
Kernighan, Ritchie - ANSI C.tar.bz2 16-Mar-2006 23:52 967k
Programowanie w C (PL).tar.bz2 16-Mar-2006 23:52 609k
Symfonia C++ (PL).tar.bz2 16-Mar-2006 23:52 32k
Teach Yourself C in 21 Days (html).tar.bz2 16-Mar-2006 23:53 266k
Teach Yourself C in 21 Days.tar.bz 16-Mar-2006 23:53 607k
Teach Yourself C++ In 21 Days 2nd Edition (html).tar.bz2 16-Mar-2006 23:55 862k
Teach Yourself Microsoft Visual InterDev in 21 Days.tar.bz2 16-Mar-2006 23:56 611k
Teach Yourself Visual C++ 5 in 24 Hours.tar.bz2 16-Mar-2006 23:57 882k
Teach Yourself Visual C++ 6 In 21 Days.tar.bz2 17-Mar-2006 00:00 594k
Teach Yourself Visual C++ 6 In 21 days (html).tar.bz2 17-Mar-2006 00:00 2.2M
Teach Yourself Visual C++ In 12 Easy Lessons.tar.bz2 17-Mar-2006 00:00 238k
The C Programming Language Ritchie & Kernighan.tar.bz2 17-Mar-2006 00:01 523k
The C++ Programming Language 3rd Edition (Stroustrup).tar.bz2 17-Mar-2006 00:04 4.1M
The darker side of C++ revisited.tar.bz2 17-Mar-2006 00:04 129k
Thinking In C%23.tar.bz2 17-Mar-2006 00:06 1.2M
Thinking In C++.tar.bz2 17-Mar-2006 00:10 3.8M
Thinking in C++ (html + code).tar.bz2 17-Mar-2006 00:06 356k
Visual C - Kurs (PL).tar.bz2 17-Mar-2006 00:10 78k
Visual C++ - Helion (PL).tar.bz2 17-Mar-2006 00:10 1k
Visual C++ In 12 Lessons.tar.bz2 17-Mar-2006 00:17 726k
Visual C++ for Dummies - Wright.tar.bz2 17-Mar-2006 00:17 7.7M
W glab jezyka C (PL).tar.bz2 17-Mar-2006 00:21 893k
c++ builder 5. awiczenia (PL).tar.bz2 16-Mar-2006 23:29 11.3M
c++ builder 5. vademecum.tar.bz2 16-Mar-2006 23:38 9.5M
c++ in 21 days.tar.bz2 16-Mar-2006 23:44 921k
c++ standard.tar.bz2 16-Mar-2006 23:46 2.2M
visual studio c++ net.tar.bz2 17-Mar-2006 00:21 6.7M
Directory link to download:
http://kewlnet.int.pl/~karql/cbooks/
index of parent directory
(ebook pdf) Visual C++ in 21 Days Second Edition.pdf 02-Apr-2003 01:30 1.7M
C++ Unleashed.pdf 21-May-2003 00:41 4.0M
DotNET - Oreilly - .net framework essentials.pdf 02-Apr-2003 01:56 1.6M
IT - Advanced Visual Basic 6.pdf 02-Apr-2003 02:03 1.8M
IT - Beginning Visual Basic 6.pdf 02-Apr-2003 02:03 121k
MastVBNET1.pdf 19-Mar-2003 15:53 14.7M
Mastering UML with Rational Rose 2002.pdf 02-Apr-2003 02:34 9.2M
OReilly - Programming Visual Basic.pdf 02-Apr-2003 02:44 2.5M
OReilly - Programming Web Services with Soap.pdf 02-Apr-2003 02:47 1.1M
OReilly's Visual Basic .NET Language in a Nutshell.pdf 02-Apr-2003 02:53 1.7M
[ebook] - Programming - Teach Yourself Visual C++ In 21 Days.pdf 02-Apr-2003 01:51 5.5M
Directory link to download:
http://chuson.free.fr/Tutorials/
index of parent directory
APress - A Programmer's Guide to ADO.NET in C%23 (VBL).pdf 08-Nov-2006 23:57 1.9M
Apress - A Programmer's Introduction to C%23 (VBL).pdf 08-Nov-2006 23:57 1.0M
C+ Language Reference (VBL).pdf 08-Nov-2006 23:59 1.3M
C+ Your Visual Blueprint For Building .Net Applications (VBL).pdf 08-Nov-2006 23:59 9.3M
C+_COM+_Programming (VBL).pdf 09-Nov-2006 00:01 2.0M
C.SHARP.FOR.JAVA.PROGRAMMERS(PWD=copyright@syngress).pdf 09-Nov-2006 00:02 7.1M
Cooper - Design Pattern in C+ (VBL).pdf 09-Nov-2006 00:03 5.3M
Deitel - C+ How to Program (VBL).pdf 09-Nov-2006 01:16 335M
MS Press - Inside C+ (VBL).pdf 09-Nov-2006 01:20 1.2M
MS Press - OOP with Microsoft VB.NET and C%23 Step By Step (VBL).pdf 09-Nov-2006 01:21 2.4M
MS Press - Programming Microsoft Windows with C%23 (VBL).pdf 09-Nov-2006 01:23 9.1M
Manning - Windows Forms Programming With C%23 (VBL).pdf 09-Nov-2006 01:19 14.3M
Mastering.ASP.NET.with.CSharp.pdf 09-Nov-2006 01:20 4.5M
O'Reilly - C+ Programming, 1st Edition.pdf 09-Nov-2006 01:23 3.0M
O'Reilly - Programming C+ (VBL).pdf 09-Nov-2006 01:24 2.6M
O'Reilly - Programming C+, 2nd Edition (VBL).pdf 09-Nov-2006 01:25 2.6M
Syngress - C+.NET Web Developer's Guide (VBL).pdf 09-Nov-2006 01:26 6.8M
Syngress C+ for Java Programmers (VBL).pdf 09-Nov-2006 01:28 7.1M
Test King Developing Windows Based Applications With C%23 (exam 70-316) Q&A v2.0 (VBL).pdf 09-Nov-2006 01:28 878k
Visual C+ Net MCSD 070-315 Exam Q&A v6.0.pdf 09-Nov-2006 01:28 862k
Visual_C_Sharp_NET_Developers_Handboo (VBL).pdf 09-Nov-2006 01:29 4.7M
Visual_C_Sharp_NET_Programming (VBL).pdf 09-Nov-2006 01:31 7.6M
Wiley - C+ Bible (VBL).pdf 09-Nov-2006 01:32 4.1M
_web2ftp_com_IP_213_62_115_122.txt 08-Nov-2006 10:01 1k
c+_Bible_Hungry_Minds (VBL).pdf 09-Nov-2006 00:00 4.0M
csharp.pdf 09-Nov-2006 00:04 910k
Directory link to download:
http://fdelbergue.free.fr/CSharp/
index of parent directory
Addison.Wesley.UNIX.Network.Programming.Volume.1.3rd.Ed.The.Sockets.Networking.API.eBook-LiB.chm 21-Jun-2005 15:35 5.4M
Beej's Guide to Network Programming.pdf 11-Feb-2006 19:19 298k
C++ & Visual C++.chm 11-Feb-2006 19:04 500k
C++_faq.chm 11-Feb-2006 19:50 896k
C_sockets.rar 11-Feb-2006 18:52 38k
Network programming for Windows, 2nd edition.rar 19-Apr-2006 21:41 1.7M
O'Reilly -- Programming Embedded Systems in C and C++.chm 11-Feb-2006 18:59 488k
OReilly.C.plus.plus.Cookbook.Nov.2005.chm 11-Feb-2006 19:34 856k
Professional C++ (Programmer to Programmer).rar 19-Apr-2006 21:58 1.3M
Programming IP Sockets on Linux1.html 11-Feb-2006 19:09 35k
Programming IP Sockets on Linux2.html 11-Feb-2006 19:08 46k
Que -- C++ Professional Programmer's Handbook.pdf 11-Feb-2006 19:58 1.0M
Socket_Programming_In_C_by_DigitalViper.txt 11-Feb-2006 19:14 14k
UnixToWindowsSockets.pdf 11-Feb-2006 19:11 101k
Visual C++ 4 Unleashed.EN.chm 19-Apr-2006 21:47 2.7M
Visual C++ 6 in 21 Days.EN.chm 11-Feb-2006 19:30 383k
WinSocksProgramming.txt 11-Feb-2006 19:15 14k
Windows Internet Programming Part 1.htm 11-Feb-2006 19:41 126k
Windows Internet Programming Part 2.htm 11-Feb-2006 19:01 31k
Windows Internet Programming Part 3.htm 11-Feb-2006 19:39 84k
Wrox Press C++ tutorial.chm 11-Feb-2006 19:42 1.2M
Xpectomatija_c_V_Unix.zip 11-Feb-2006 19:44 313k
[RU]Beej's Guide to Network Programming.htm 11-Feb-2006 19:25 98k
[ru]prog4unix_C.zip 11-Feb-2006 19:14 181k
a_short_guide_on_c_programming.doc 11-Feb-2006 18:54 155k
c++ standard library, the a tutorial and reference.chm 19-Apr-2006 21:58 640k
c2.rar 11-Feb-2006 19:44 183k
c_plus_plus.rar 11-Feb-2006 19:08 444k
cplusplus.com_tutorial.zip 11-Feb-2006 19:08 261k
networking_cpp.zip 11-Feb-2006 19:04 163k
programmist_library_cppRU.zip 11-Feb-2006 19:25 1.7M
raw_socket.txt 11-Feb-2006 19:19 52k
rawping.html 11-Feb-2006 19:20 18k
sockets.txt 11-Feb-2006 19:04 3k
sockets_KKaspersky.pdf 11-Feb-2006 18:57 189k
theForger's_Win32APITutorial.pdf 11-Feb-2006 19:01 399k
the_c_programming_language_by_kr.zip 11-Feb-2006 19:38 249k
unixsocket-guide.txt 11-Feb-2006 19:11 13k
winSocks.zip 11-Feb-2006 19:04 32k
wininet.rar 11-Feb-2006 19:24 260k
winsockets.html
Directory link to download:
http://slav0nic.xss.ru/books/C_Cpp/
index odf parent directory
A Programmers Introduction to Visual Basic.NET.pdf 0 4.1 MB
OReilly Visual Basic .NET Language in a Nutshell.pdf 26 1.7 MB
Programming Visual Basic.pdf 0 2.5 MB
Visual Basic - Database Developer's Guide with VB 5.rar 1092 4.8 MB
Visual Basic - DATABASE PROGRAMMING WITH VB 5.rar 0 5.7 MB
Visual Basic - How to Program VB 5.0 CCE.rar 0 1.4 MB
Visual Basic - Platinum Edition Using VB 5.rar 30 14.8 MB
Visual Basic - Teach Yourself VBScript in 21 Days.rar 0 2.4 MB
Visual Basic - VBScript UNLEASHED.rar 0 289.7 KB
Directory link to download:
http://fulldocs.com/index.php?dir=Programming%20Books%20and%20Tutorials/Visual%20Basic/
index of parent directory
(ebook-pdf) - Programming - Using OpenGL in Visual C++ (1).pdf 0 67.2 KB
(ebook - pdf) Programming Windows Games with Borland C++.pdf 0 3.3 MB
C++_by_exemple.pdf 0 2.4 MB
C++_Course_transparencies.pdf 0 1.6 MB
Developing proffesional Apps with MFC - Brain Marshall & Lance Lovette.rar 0 5.4 MB
[RO] - C++ Manual complet.rar 1 1.3 MB
[RO] - Carte C++ in romana.rar 1 38.5 KB
Directory link to download:
http://fulldocs.com/index.php?dir=Programming%20Books%20and%20Tutorials/C%2B%2B/
DROZD.RTF 10-Jul-2002 12:12 40k
DebuggingWithGDB.pdf 20-Jan-2004 08:37 2.5M
STL_doc.tar.gz 10-Jul-2002 12:12 509k
Teac C++/ 27-Sep-2005 18:55 -
Thinking in C++ 2nd Edition 22-Jan-2004 10:40 210k
Thinking in C++ 2nd Edition.pdf 22-Jan-2004 10:41 1.1M
Thinking in Patterns..> 22-Jan-2004 10:42 382k
autoconf.pdf 04-Feb-2004 08:26 2.9M
automake.pdf 04-Feb-2004 08:27 1.1M
gcc_3_3_2_manual.pdf 04-Feb-2004 08:29 1.6M
taoup.tar.bz2 29-Oct-2003 08:18 800k
teach.zip 10-Jul-2002 12:12 393k
Directory link to download:
http://tutok.sk/fastgl/download/books/
index of parent directory
Parent Directory 14-May-2006 22:03 -
C++ Language Tutoria..> 20-Mar-2006 14:01 22k
C++ Language Tutoria..> 20-Mar-2006 14:01 -
Code of TIC2/ 09-Apr-2006 13:05 -
TIC2Vone.pdf 29-Jun-2000 07:21 2.9M
Tic2Vtwo.pdf 29-Jun-2000 22:19 2.0M
Directory link to download:
http://www.math.purdue.edu/~yhzhao/HikingPark/C++/
index of parent directory
(ebook - PDF) C++ Unleashed.pdf 29-Jan-2003 22:39 4.0M
Addison-Wesley's C++ Design Generic Programming (2001).pdf 31-Jul-2004 12:01 1.4M
Addison-Wesley's C++ Programming Language (SE 1997).pdf 31-Jul-2004 12:01 3.4M
Addison-Wesley's C++ by Dissection (2002).pdf 31-Jul-2004 12:01 3.5M
C++.doc 01-Aug-2004 06:01 835K
C++ By Example (1992).pdf 31-Jul-2004 12:02 2.9M
C++ COMO UMA LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS.doc 01-Aug-2004 06:01 953K
C++ COMO UMA LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS/ 21-Oct-2004 18:02 -
C++ Reverse Engineering.pdf 31-Jul-2004 12:02 539K
CPlusPlusRef/ 21-Oct-2004 18:02 -
Fundamentos de Linguagem C-Programas em C/ 21-Oct-2004 18:03 -
Fundamentos de Linguagem C.DOC 01-Aug-2004 06:01 523K
ISOIEC's Programming Languages C (1999).pdf 31-Jul-2004 12:02 1.3M
ISOIEC's Programming Languages C++ (1st Edition).pdf 31-Jul-2004 12:02 1.9M
Linguagem C/ 21-Oct-2004 18:03 -
O'Reilly's Practical C++ Programming (1997).pdf 31-Jul-2004 12:03 2.7M
O'Reilly's Practical C Programming (3rd Edition).pdf 31-Jul-2004 12:03 5.9M
Prentice Hall's The C Programming Language (2nd Edition).pdf 31-Jul-2004 12:03 1.8M
UML's C++ Reverse Engineering.pdf 31-Jul-2004 12:03 2.1M
Wiley's For Dummoes - C For Dummies (2nd Edition 2004).pdf 31-Jul-2004 12:04 8.0M
Directory link to download:
http://lsa.isep.ipp.pt/~manrob/sources/Linguagem%20C/
Algorithms, Data Structures, and Problem Solving with C++ .pdf 24-Mar-2004 11:45 1.1M
Applied C++ .chm 29-Aug-2003 16:00 2.1M
C++ --Complete Reference (3rd Ed.).pdf 24-Mar-2004 11:43 8.8M
C++ Builder°ËÐıà³Ì¼¼Êõ/ 04-Aug-2004 15:02 -
C++ FAQs .chm 06-May-2003 16:00 896k
C++ Gotchas .chm 19-May-2003 16:00 717k
C++ In Action.rar 22-Apr-2004 05:22 1.2M
C++ Network Programming.rar 26-May-2004 17:38 4.4M
C++ Primer 3rd Ed.chm 07-Apr-2004 01:46 1.4M
C++ Templates.chm 07-Apr-2004 01:46 737k
C++±à³Ì˼Ïë/ 04-Aug-2004 15:02 -
Design Patterns - Elements of Reusable Object-Oriented Software.rar 25-Mar-2004 20:19 4.0M
Design Patterns Explained.chm 07-Apr-2004 01:47 1.6M
Design Patterns.pdf 07-Apr-2004 01:48 4.1M
Effcient C++ Programming Techniques .pdf 08-Mar-2003 16:00 1.7M
Effect C++ÖÐÎĺæ/ 04-Aug-2004 15:02 -
Effective C++ & More Effective C++.chm 07-Apr-2004 01:48 1.7M
Effective STL.pdf 07-Apr-2004 01:49 1.8M
Essential C++.chm 07-Apr-2004 01:49 401k
Exceptional C++.chm 07-Apr-2004 01:49 365k
How Not to Program in C++.pdf 16-Jan-2004 03:08 1.6M
Inside the C++ Object Model.chm 07-Apr-2004 01:49 658k
Modern C++ Design.chm 07-Apr-2004 01:50 816k
More Exceptional C++.chm 07-Apr-2004 01:50 505k
The C++ Standard Library.chm 07-Apr-2004 01:52 3.4M
Directory link to download:
http://dl.njfiw.gov.cn/books/C/
Tuesday, May 22, 2007
Programming Mobile Devices: An Introduction for Practitioners
Programming Mobile Devices: An Introduction for Practitioners
By Tommi Mikkonen
* Publisher: Wiley
* Number Of Pages: 244
* Publication Date: 2007-04-06
* Sales Rank: 328555
* ISBN / ASIN: 0470057386
* EAN: 9780470057384
* Binding: Hardcover
* Manufacturer: Wiley
* Studio: Wiley Book Description:
With forewords by Jan Bosch, Nokia and Antero Taivalsaari, Sun Microsystems.
Learn how to programme the mobile devices of the future!
The importance of mobile systems programming has emerged over the recent years as a new domain in software development. The design of software that runs in a mobile device requires that developers combine the rules applicable in embedded environment; memory-awareness, limited performance, security, and limited resources with features that are needed in workstation environment; modifiability, run-time extensions, and rapid application development.
Programming Mobile Devices is a comprehensive, practical introduction to programming mobile systems. The book is a platform independent approach to programming mobile devices: it does not focus on specific technologies, and devices, instead it evaluates the component areas and issues that are common to all mobile software platforms. This text will enable the designer to programme mobile devices by mastering both hardware-aware and application-level software, as well as the main principles that guide their design.
Programming Mobile Devices:
- Provides a complete and authoritative overview of programming mobile systems.
- Discusses the major issues surrounding mobile systems programming; such as understanding of embedded systems and workstation programming.
- Covers memory management, the concepts of applications, dynamically linked libraries, concurrency, handling local resources, networking and mobile devices as well as security features.
- Uses generic examples from JavaTM and Symbian OS to illustrate the principles of mobile device programming.
Programming Mobile Devices is essential reading for graduate and advanced undergraduate students, academic and industrial researchers in the field as well as software developers, and programmers.
Friday, May 18, 2007
Rails Recipes (Pragmatic Programmers)
Rails Recipes (Pragmatic Programmers)
By Chad Fowler
* Publisher: Pragmatic Bookshelf
* Number Of Pages: 344
* Publication Date: 2006-06-09
* Sales Rank: 3718
* ISBN / ASIN: 0977616606
* EAN: 9780977616602
* Binding: Paperback
* Manufacturer: Pragmatic Bookshelf
* Studio: Pragmatic Bookshelf Book Description:
Rails is large, powerful, and new. How do you use it effectively? How do you harness the power? And, most important, how do you get high quality, real-world applications written?
From the latest Ajax effects to time-saving automation tips for your development process, Rails Recipes will show you how the experts have already solved the problems you have.
- Use generators to automate repetitive coding tasks.
- Create sophisticated role-based authentication schemes.
- Add live search and live preview to your site.
- Run tests when anyone checks code in.
- How to create tagged data the right way.
- and many, many more...
Owning Rails Recipes is like having the best Rails programmers sitting next to you while you code.
Thursday, May 17, 2007
Art of Computer Programming, Volume 3: Sorting and Searching (2nd Edition)
Art of Computer Programming, Volume 3: Sorting and Searching (2nd Edition)
By Donald E. Knuth
* Publisher: Addison-Wesley Professional
* Number Of Pages: 800
* Publication Date: 1998-04-24
* Sales Rank: 413956
* ISBN / ASIN: 0201896850
* EAN: 0785342896855
* Binding: Hardcover
* Manufacturer: Addison-Wesley Professional
* Studio: Addison-Wesley Professional
Book Description:
The first revision of this third volume is the most comprehensive survey of classical computer techniques for sorting and searching. It extends the treatment of data structures in Volume 1 to consider both large and small databases and internal and external memories. The book contains a selection of carefully checked computer methods, with a quantitative analysis of their efficiency. Outstanding features of the second edition include a revised section on optimum sorting and new discussions of the theory of permutations and of universal hashing.
Monday, May 14, 2007
Programming the Parallel Port: Interfacing the PC for Data Acquisition & Process Control
Programming the Parallel Port: Interfacing the PC for Data Acquisition & Process Control
By Dhananjay V. Gadre
* Publisher: R&D Books
* Number Of Pages: 308
* Publication Date: 1998-01-02
* Sales Rank: 666657
* ISBN / ASIN: 0879305134
* EAN: 9780879305130
* Binding: Paperback
* Manufacturer: R&D Books
* Studio: R&D Books Book Description:
Why purchase expensive add-on cards or bus interfaces when you can develop effective and economical data acquisition and process controls using C programs? Using the under-employed printer adapter (that is, the parallel port of your PC), you can turn your computer into a powerful tool for developing microprocessor applications. Learn how to build a complete data acquisition system and such varied applications as a CCD camera controller, a photometer interface, and a wave form generator. The book also covers the enhanced parallel port (EPP), the extended capabilities port (ECP), interfacing analog-to-digital converters, and data acquisition under Linux. This extraordinary software approach to interfacing through the parallel port will be especially appealing to programmers involved in control systems design and device development, as well as to those who work with real-time and embedded systems. ;
Key topics include; the Enhanced Parallel Port (EPP), Extended Communications Port (ECP), Analog/Digital Converters (ADC and DAC), adding bits to the parallel port, hosting an EPROM emulator, connecting to an external microprocessor, and generating digital waveforms.
Saturday, May 12, 2007
Advanced CORBA(R) Programming with C++
Publisher: Addison-Wesley Professional
Number Of Pages: 1120
Publication Date: 1999-02-17
Sales Rank: 58691
ISBN / ASIN: 0201379279
EAN: 0785342379273
Binding: Paperback
Manufacturer: Addison-Wesley Professional
Studio: Addison-Wesley Professional
Amazon.com:
Written for the experienced C++ developer facing real-world CORBA for the first time, Advanced CORBA Programming with C++ is a useful guide to today's most popular standard for distributed computing.
After a quick tour of CORBA basics, the authors jump right in with a minimum skeleton application written in C++. From there, they provide truly extensive coverage of CORBA IDL, along with many tips for using IDL data types in C++. (They cover advanced features such as any, TypeCode, and DynAny later in the book.).
Next the book unveils its sample application--a distributed climate control system. Material on the Portable Object Adapter and the Object Life Cycle, including garbage collection strategies, rounds out this section. Additional chapters examine the details of Object Request Brokers (ORBs), including Internet Inter-ORB Protocol (IIOP), repositories, and binding. The authors also present CORBA's built-in APIs for Naming, Trading, and Event Services (including asynchronous event handling), which is most useful as reference material.
Final sections examine strategies for better scalability, including multithreading and optimizing network traffic for CORBA objects. The authors provide numerous short excerpts of C++ code, though it must be said that much of this book is reference material rather than a hands-on programming tutorial. --Richard Dragan
SAS Macro Programming Made Easy, Second Edition
Need help understanding the SAS macro facility? You will find all the answers that you need in this easy-to-follow book! Michele Burlew puts her decades of macro programming experience to work for you as she guides you through the basics, as well as the more complex features of the SAS macro facility. Updated extensively for SAS 9, this book includes plenty of examples and step-by-step instructions. You will learn the elements of the macro facility (macro variables, macro programs, macro language), how to write a macro program, macro programming techniques, tips on using the macro facility, how the macro facility fits into SAS, and about the interfaces between the macro facility and other components of SAS.
New topics for the second edition include using SAS 9 macro and SAS language features, debugging macro programs, adding error checking to macro programs, and building a library of utility macro programs.
Beginning macro programmers will learn to write SAS macro programs quickly and efficiently. More experienced macro programmers will find this book useful to refresh their conceptual knowledge and expand on their macro programming skills. It is also important to note that the macro facility is a highly popular part of SAS and found in the job requirements for many SAS programming jobs. In addition, macro facility concepts are tested on the SAS Advanced Programming Exam. The book assumes some SAS programming experience, including knowledge of how to write a DATA step and how to use SAS procedures.
Questioning Extreme Programming
Publisher: Pearson Education
Number Of Pages: 224
Publication Date: 2002-07-19
Sales Rank: 684415
ISBN / ASIN: 0201844575
EAN: 0785342844573
Binding: Paperback
Manufacturer: Pearson Education
Studio: Pearson Education
Valuable read for the XP/Agile devotee
I'll tell you at the outset I'm a big fan of agile programming. I lived through many years of waterfall development and all the pain that ensued. Having been convinced of the power and flexibility of Agile methodologies though hands on expereince there is *no* going back (never say never, eh?).Although this book is written to debunk XP (no matter what the intro says), it doesn't do that job. What is does do very well is raise many of the questions that anyone intersted in Agile should ask themselves -- no matter if they have been practicing agile methodologies for years, or if they are just thinking about it.Even if your are a 100% died in the wool fan of agile/XP/whatever - this is a very valuable book. It'll cause you to think and question. And that is always good.
Thursday, May 10, 2007
C++ for Business Programmers 2nd Edition, by John C. Molluzzo
Full Ebook Collection C C++ and Visual C++
C
2005 :
Oreily :C in A NutshellPrentice Hall:Practical FPGA Programming in C
before :C algorithm for real-time DSPData Structures And Program Design In CThe C (ansi c )Programming Language 2nd 1988
c++ :2004 :Addison wesley :C++ Coding Standards - 101 Rules GuidelinesExceptional C++ Style 40 New Engineering Puzzles, Programming problems and solutionsMcgraw hill :C++ Demystified A Self-Teaching GuideThe Art of C++various :Thomson - Beginning C++ Game ProgrammingWiley:C++ for Dummies 5th edition2005:Addison wesley:Beyond the C++ Standard Library An Introduction to BoostC++ Primer 4th EdEffective C++ Third Edition 55 Specific Ways to Improve Your Programs and DesignsDeitel :C++ How to Program, Fifth Edition with Source CodeOreily :C++ CookbookPrentice Hall:C++ for Business Programming, Second EditionWiley :C++ Timesaving Techniques for DummiesModeling Derivatives in C++before:Addison wesley :Accelerated C++ Practical Programming by ExampleC++ In Action Industrial Strength Programming TechniquesC++ Standard Library, The A Tutorial and ReferenceEffective & More Effective C++Modern C++ Design Generic Programming and Design Patterns AppliedThe C++ Programming Language 3rd.Ed 1997Mcgraw hill:Theory and Problems of Programming with C++ (Schaum's Outline, OCR) 1996Oreily:Programming Embedded Systems in C and C++ 1999Prentice Hall:Core C++ - A Software Engineering Approach 2000various:C++ Advanced 3D Game Programming with DirectX 9.0 2003Premier Press C++ Programming for the Absolute Beginner 2001Premier Press Game Programming All in One 2002Visual c++ :2006:various :Apress - Pro Visual C++ CLI and the .NET 2.0 PlatformWiley:Beginning Visual C++ 2005before:Mcgraw hill:Visual C++ .NET Developer’s Guide 2002Oreily :2003 , Programming with Microsoft Visual C++ .NET 6th EditionSams:MFC Programming with Visual C++ 6 unleashed 1999Teach Yourself Visual C++ 6 in 21 days 1998various :Que Using Visual C++ 6 Special Edition 1998Visual C++ 6 for Dummies quick reference 1998Wrox Beginning Visual C++ 6 1998
Download
part1.rar.html
part2.rar.html
part3.rar.html
C++ In Action
# Paperback: 485 pages# Publisher: Addison Wesley Publishing Company; Bk&CD-Rom edition (June 1, 2001)# Language: English# ISBN: 0201699486# File Size: 2.08 MB
Book Info:(Pearson Education) Modern guide to using C++ langugage, including how to apply it to Windows programming. Shows how to write programs for programmers, not computers. The CD-ROM features all of the source code and projects from the text. Also includes a companion Web site. System requirements not listed. Softcover.From the Inside Flap:Why This Book?Indeed, why YABOC11 (Yet Another Book on C11)? There are already many excellent books describing all imaginable aspects of C11. As far as learning the language and all kinds of programming tricks, the market is pretty much saturated. This book is not a language reference or a collection of clever tricks and patterns. This book is about programming.Teaching programming is very different from teaching a language. A programmer is usually faced with a problem that he or she has to solve by writing a program—not with a language feature whose use he or she wants to illustrate. In this book I try to show, as much as possible, how to use the language as a tool to solve programming problems.I center the presentation around various software projects. In each project I first describe a problem to be solved. Then I discuss what the program should do, what it should look like, and how it should react to user input. Based on that I build a scaffolding that captures the structure of the program without implementing its functionality. Finally, I implement the functionality, component by component.But programming doesn’t stop there. What follows in this book is a long series of code reviews each followed by a rewrite. "How can this be done better?" is a question a programmer asks himself or herself constantly. And then another question becomes more and more relevant, "How do I write code that can be easily revised?"In programming, as in life, there is never a single way to do something. That’s why being able to argue about various solutions is extremely important. Programmers who don’t know how to argue end up bitter and frustrated. I remember my own frustrations when faced with an argument like, "Because it’s always been done like this." In this book I argue a lot. I try to find the pros and cons of every solution, and in many cases I manage to settle on something I consider "elegant." However, I never use elegance as an objective criterion. I believe that one can always uncover some very practical arguments that are hidden behind the subjective impression of "elegance." An elegant solution in many cases catches a very good abstraction or generalization. It results in code that is easy to understand, modify, and debug.Finally, in this book I emphasize the human factor in programming. My credo is "programs are written for programmers, not computers." Programmers want to write better programs not in order to make them more understandable to computers, but to make them more readable to humans. Program maintenance is impossible without program understanding. This may seem like an obvious thing to say, but many programmers overlook this self-evident truth.Why You?Who are you, the reader of this book? You might be a relative beginner who has picked up some programming but wants to learn C11. You might be a student who wants to supplement his or her college education. You might be a well-trained programmer who is trying to make a transition from the academic to the industrial environment. Or you might be a seasoned programmer in search of new ideas. I hope this book will satisfy you no matter which category you are in.Why Me?Why should I, of all people, write a book about programming in C11? You, the potential reader of this book, have the right to ask about my credentials, especially because I’m not a computer scientist by education.I have a Ph.D. in theoretical physics—my thesis was about supersymmetric nonlinear sigma models. I used to be pretty good at calculating supersymmetric Feynman diagrams. Then, around 1986 I fell in love with computers, quit my postdoc position, and began programming.A physicist is somebody who’s in between a mathematician and an engineer. A physicist is used to constantly moving between theory and practice. He or she is not expected to believe in a theory unless it has proven itself in practice, and will always try to generalize every aspect of experience in order to find an underlying principle. And, most of all, a physicist is not supposed to take anything for granted.Unlike a mathematician, a physicist has to be more realistic and care more about the process than the formal theory. The process in physics is performing calculations. In programming, it’s software maintenance. So, since I’m a physicist, it should come as no surprise that this book focuses more on rewriting programs than on creating them.I started teaching C11 and writing this book in 1994, while still working at Microsoft. I took a sabbatical to visit my alma mater, the University of Wroclaw in Poland. It turned out that I would visit that institution several more times, and each visit would prompt me to write a few more chapters. At some point I started converting the book to HTML and posting it on the web. Since C11 was still evolving, I had to rewrite many chapters over and over again. For example, when STL became part of the C11 standard library, I had to go back and rethink the implementation of most code examples in the book.A lot of techniques described in this book were developed while I was working at Microsoft, designing and leading the development of the Index Server. After that, my new company, Reliable Software, turned out to be a great lab for testing new programming methodologies. All the techniques described in this book have been incorporated into our own products. In fact, we keep rewriting our code every time a new, better idea comes along.Being a physicist makes me both a good programmer and a bad programmer. Good, because I constantly revise my techniques, search for new generalizations, and discuss every aspect of programming to death. Bad, because when I find a better solution I want to rewrite everything (I will try to convince you that it’s actually not such a bad idea). Managers on my previous jobs always had problems with me, because I questioned every decision, convention, and custom. I hope the same qualities will make me a good writer.If you, the reader, find a better way of doing something described in this book, please let me know, so I can start rewriting this book for the nth time. My e-mail address is bartosz@relisoft.AcknowledgmentsI am most grateful to my students from the University of Wroclaw and from the Digipen Institute of Technology, because the best way to learn something is to teach it. Thanks go to Professor Jerzy Lukierski, who invited me back to the university to teach computer science. I am also indebted to my coworkers at Microsoft and Reliable Software, who were the first to try and improve many techniques described in this book. My wife, Pam, besides supporting me in all my endeavors, helped me edit the first chapter of this book, making it so much easier to understand. Many thanks to editors from Addison-Wesley, especially Debbie Lafferty.
Download or Download or Download
C++ Network Programming, Volume 2: Systematic Reuse with ACE and Frameworks by Douglas C. Schmidt
Publisher: Addison-Wesley Professional; 1st edition (October 29, 2002) ISBN: 0201795256 CHM 2,2 Mb 384 pages
Download or Download or Download After download rename file to *.chm
Frantisek Franek, «Memory as a Programming Concept in C and C++»
Publisher: Cambridge University Press November 2003 ISBN: 052181720X Pages:272 Format: CHM Size: 3 MB
Download or Download or Download
Developing Series 60 Applications : A Guide for Symbian OS C++ Developers (Nokia Mobile Developer)
This book is for anyone who is considering or is currently involved in creating software for Series 60 using C++. For software engineers, designers and project managers, it is an in-depth practical guide to Series 60 development. Engineers from a wide range of organizations-independent software vendors, licensees, competence centers, network operators, content providers and so on-should benefit from this work. This book provides an in-depth practical guide to Series 60 software development in C++. We do not attempt to teach C++ or object-oriented design; these are essential prerequisites to getting the best from this book. We assume at the outset that you have located and installed a suitable Series 60 SDK and a chosen development environment from Borland, Metrowerks or Microsoft. Help on acquiring these necessary materials is provided in the References section at the back of the book. Generous amounts of documentation, information and example projects are included with the SDKs and tools, so where possible we have avoided duplicating this material. From time to time we refer to sections of the standard documentation and examples where you can find more details. Many other sources of information are available to assist engineers to acquire entry-level Symbian OS development skills, and links to such resources are provided in the References section. Some basics of Symbian development are provided here to aid the complete beginner, but to avoid too much duplication we focus mainly on the specifics of Series 60 Platform development. Around sixty separate buildable projects are provided, together with full source code and installation scripts. See the References section for instructions on correct installation of the project materials. Links to the projects materials, updates and errata are available online. Series 60 is a complete smartphone reference design, including a host of wireless applications, based on Symbian OS. It represents a rich open environment for developers to create their own innovative applications. However, it is a rapidly developing platform, and so this book covers development for versions 1.x and 2.x of Series 60 Platform. Application developers can choose from Java MIDP or C++ as their development language. This book covers only C++, since it currently offers significantly greater capability in terms of performance and access to a huge set of APIs (Application Programming Interfaces). Guide to Readers The first part of this book provides an overview of the development process, the essentials of Symbian development and the key structural elements of a Series 60 application. Therefore, if you are new to Series 60 development, we urge you to read Chapters 1-4 completely before reading anything else. The rest of the book can be used as a reference work on Series 60 development. A brief outline of each chapter is provided here to guide readers of varying levels of previous experience, from novice to expert, on how to proceed. Chapter 1-Getting Started Introduces the essentials of a Series 60 project, plus building, deploying and running a simple example application. Chapter 2-Development Reference Builds on Chapter 1 by providing a detailed description of all the essential components of two Series 60 projects, plus the use of other key development tools to build, deploy and run the example applications. Chapter 3-Symbian OS Fundamentals The essential characteristics of Symbian OS upon which Series 60 Platform is based. Chapter 4-Application Design Examination of the framework architecture behind every Series 60 GUI application and of key elements of application design-this is the first time the source code of a GUI application is examined. Chapter 5-Application UI Components The basics of creating UI controls, plus the essential Series 60 UI controls such as menus, status panes, control panes and so on. Chapter 6-Dialogs Use of Series 60 dialogs for interaction with users and displaying information or editing data. Chapter 7-Lists User interface controls for displaying collections of items for information and user interaction. Chapter 8-Editors Application of user interface components for entering, displaying and editing data. Chapter 9-Communications Fundamentals Basic communication APIs for Series 60 developers. Chapter 10-Advanced Communication Technologies Sophisticated communication APIs for Series 60 developers. Chapter 11-Multimedia, Graphics and Audio Series 60 Graphics Architecture, drawing, fonts, bitmaps, animation and audio. Chapter 12-Using Application Views, Engines and Key System APIs How to invoke the published standard application views, use many of the key application engines and accessing several useful system functions from within applications. Chapter 13-Testing and Debugging Quality assurance, testing techniques and common debugging methods and techniques.
Download or Download
Symbian OS C++ for Mobile Phones (Symbian Press) by Richard Harrison
C++ Programming for the Absolute Beginner (For the Absolute Beginner) - 1 edition (October 1, 2002)
If you are new to programming with C++ and are looking for a solid introduction, this is the book for you. Developed by computer science professors, books in the for the absolute beginner series teach the principles of programming through simple game creation. You will acquire the skills thaty ou need for more practical C++ programming applications and will learn how these skills can be put to use in real-world scenarios. Best of all, by the time you finish this book, you will be able to apply the basic principles you've learned to the next programming language you tackle.
Accelerated C++: Practical Programming by Example
Pluggable Authentication Modules: The Definitive Guide to PAM for Linux SysAdmins and C Developers
Creating Games in C++: A Step-by-Step Guide
STL Tutorial and Reference Guide: C++ Programming with the Standard Template Library (2nd Edition)
Publisher: Addison-Wesley Professional
From the Inside Flap
In the five years since the first edition of STL Tutorial and Reference Guide appeared, the C++ language standard has been finalized and officially accepted, C++ compiler vendors have made great progress in bringing their compilers into compliance with the standard, and dozens of other books and magazine articles have appeared that describe and explain the standardized language and libraries. Many of these books and articles have highlighted the Standard Template Library (STL) as the most significant addition to the standard. Some hailed it, as we did in this book’s first edition, as having the potential to revolutionize the way a large number of people program. The past five years have already seen much of that potential realized, with the first edition of this book playing a key role for tens of thousands of programmers. We wrote in the preface of the first edition that there are five reasons why the STL components could become some of the most widely used software in existence:
C++ is becoming one of the most widely used programming languages (in large part due to the support it provides for building and using component libraries). Since STL has been incorporated into the ANSI/ISO standard for C++ and its libraries, compiler vendors are making it part of their standard distributions. All components in STL are generic, meaning that they are adaptable (by language-supported compile-time techniques) to many different uses. The generality of STL components has been achieved without sacrificing efficiency. The design of STL components as fine-grained, interchangeable building blocks makes them a suitable basis for further development of components for specialized areas such as databases, user interfaces, and so forth.
We have enjoyed seeing these statements borne out by the developments of the past five years.
Changes in the Second Edition
In this new edition we have added substantially more tutorial material including expanded chapters in Part I on function objects and container, iterator, and function adaptors, and two entirely new chapters in Part II containing substantial new examples. We have also gone through all example code and surrounding discussion, including the reference material in Part III, to bring them up to date with the final standard. (Although some ambiguities in the standard have been discovered since it was finalized, we believe that in most cases the remaining uncertainties about the meaning of STL component specifications have no important consequences for the practicing programmer. In the few cases where they might, we point them out.) We also added a new chapter in Part III describing utility components such as the pair and comparison classes, and a new appendix describing the STL-related features of the standard string class.
In this edition we have also adopted the “literate programming” style for presenting example programs and code fragments. For readers unfamiliar with this approach to simultaneous programming and documenting, a brief explanation is given in Chapter 2 and more details are presented in Chapter 12. One benefit of the literate programming approach is that coding details can be presented once and then referred to (by name and page number) many times, so readers do not have to read through the same details repeatedly. Another major benefit is that we have been able check even more thoroughly than before that all code is syntactically and logically correct, since literate programming tools make it easy to extract the code directly from the manuscript and compile and test it. A list of the compilers the code has been compiled and tested with is given in Appendix D.
Some History, from the Preface to the First Edition Virtually all C++ programmers know that this language was originated by one person, Bjarne Stroustrup, who began thinking of how to extend the C language to support definition of classes and objects as early as 1979. So too, the architecture of STL is largely the creation of one person, Alexander Stepanov.
It is interesting that it was also in 1979, at about the same time as Stroustrup’s initial research, that Alex began working out his initial ideas of generic programming and exploring their potential for revolutionizing software development. Although Dave Musser had developed and advocated some aspects of generic programming as early as 1971, it was limited to a rather specialized area of software development (computer algebra).
Alex recognized the full potential for generic programming and persuaded his then-colleagues at General Electric Research and Development (including, primarily, Dave Musser and Deepak Kapur) that generic programming should be pursued as a comprehensive basis for software development. But at that time there was no real support in any programming language for generic programming. The first major language to provide such support was Ada, with its generic units feature, and by 1987 Dave and Alex had developed and published an Ada library for list processing that embodied the results of much of their research on generic programming. However, Ada had not achieved much acceptance outside the defense industry, and C++ seemed more likely to become widely used and provide good support for generic programming, even though the language was relatively immature (it did not even have templates, added only later). Another reason for turning to C++, which Alex recognized early on, was that the C/C++ model of computation, which allows very flexible access to storage (via pointers), is crucial to achieving generality without losing efficiency.
Still, much research and experimentation were needed, not just to develop individual components, but more important to develop an overall architecture for a component library based on generic programming. First at AT&T Bell Laboratories and later at Hewlett-Packard Research Labs, Alex experimented with many architectural and algorithm formulations, first in C and later in C++. Dave Musser collaborated in this research, and in 1992 Meng Lee joined Alex’s project at HP and became a major contributor. This work undoubtedly would have continued for some time as just a research project or at best would have resulted in an HP proprietary library, if Andrew Koenig of Bell Labs had not become aware of the work and asked Alex to present the main ideas at a November 1993 meeting of the ANSI/ISO committee for C++ standardization. The committee’s response was overwhelmingly favorable and led to a request from Andy for a formal proposal in time for the March 1994 meeting. Despite the tremendous time pressure, Alex and Meng were able to produce a draft proposal that received preliminary approval at that meeting.
The committee had several requests for changes and extensions (some of them major), and a small group of committee members met with Alex and Meng to help work out the details. The requirements for the most significant extension (associative containers) had to be shown to be consistent by fully implementing them, a task Alex delegated to Dave Musser. It would have been quite easy for the whole enterprise to spin out of control at this point, but again Alex and Meng met the challenge and produced a proposal that received final approval at the July 1994 ANSI/ISO committee meeting.
(Additional details of this history can be found in an interview Alex gave in the March 1995 issue of Dr. Dobb’s Journal.) Spreading the Word Subsequently, the Stepanov and Lee document 17 was incorporated into the ANSI/ISO C++ draft standard (1, parts of clauses 17 through 27). It also influenced other parts of the C++ Standard Library, such as the string facilities, and some of the previously adopted standards in those areas were revised accordingly.
In spite of STL’s success with the committee, there remained the question of how STL would make its way into actual availability and use. With the STL requirements part of the publicly available draft standard, compiler vendors and independent software library vendors could of course develop their own implementations and market them as separate products or as selling points for their other wares. One of the first edition’s authors, Atul Saini, was among the first to recognize the commercial potential and began exploring it as a line of business for his company, Modena Software Incorporated, even before STL had been fully accepted by the committee. The prospects for early widespread dissemination of STL were considerably improved with Hewlett-Packard’s decision to make its implementation freely available on the Internet in August 1994. This implementation, developed by Stepanov, Lee, and Musser during the standardization process, became the basis of all implementations offered by compiler and library vendors today.
Also in 1994, Dave Musser and Atul Saini developed the STL++ Manual, the first comprehensive user-level documentation of STL, but they soon recognized that an even more comprehensive treatment of STL was needed, one that would have better and more complete coverage of all aspects of the library. In an attempt to meet this goal, and with much encouragement and assistance from their editor, Mike Hendrickson, they wrote the first edition of this book.
In the second edition, the two original authors are joined by Gillmer J. Derge, President and CEO of the consulting firm Toltec Software Services, Inc. He has been developing applications with C++ for more than a decade, including seven years with General Electric Corporate R&D, where he received a Whitney Award for technical achievement
Download
No comments:
Post a Comment