Tutorials, source code, FAQ, downloads for programming in C++, C, Visual Basic, Java.

Here is our list of "essential" C, C++, and Java programming books. Of the plethora of programming books on the market, we think the ones below are among the best. If you're looking for good books, you can't go wrong by starting here.

We are also reviewing newer books, which are more up-to-date with respect to the current C, C++, and Java standards. As we find new books that merit the title "essential," we will add them to this list. So be sure to stop by again.

To find which is the best books to learn C++...  

To find which is the best books to learn C..

To find which is the  best books to learn Java..

 

 

 

 
Prepare for VB.Net Now! The next version of VB--VB.Net--includes cool new features like WebForms, Inheritance, Cross Platform Debugging and more!Beta copies start shipping (currently free) on November 21st. Sign up today to grab a copy!Then check out this article from Microsoft on upgrading your VB6 apps to VB.net!
What's Coming in VB.Net

What's New

what will the next version of Visual Basic - VB.Net - give us? Let's review everything what we know so far...
  • Co-existence - you'll be able to install Visual Basic 6.0 and VB.Net on the same machine without conflicts
  • Structured Error Handling – the new version will support Try, Catch and Finally error handling techniques, as found in C++ and Java
  • Auto Upgrade – when you open a VB6 project in VB.Net, many of the features no longer supported with be automatically upgraded
  • Control Anchors – you can anchor a control to an area of the screen, such as the lower right hand corner of a form - and it will stay there, even if the form is resized
  • No PrintForm – you'll no longer find a PrintForm method in VB.Net – and there's no replacement planned
  • Web Forms – develop applications for the Internet in your favourite programming language, integrated with ASP.Net
  • ADO.Net – improved ADO performance apparently, though no further detail yet
  • Integer to Short – the present-day 16-bit Integer will become Short, whilst the 32-bit Long will turn into an Integer. The Long data type will remain in existence as a 64-bit number
  • No GoTo – this statement will no longer exist
  • Zero-Based Arrays – you can no longer declare arrays between your own boundaries, they all must be zero-based. This also means the Option Base statement serves no purpose, hence will be removed
  • Different Property Procedures – the Get and Let parts of a property procedure will all be placed inside the one property declaration, no longer separated into two
  • No More Defaults – don't rely on default properties in VB.Net – they won't work. You must explicitly specify everything you use, such as Text1.Text = "MyText" rather than simply Text1 = "MyText"
  • New Forms – no more regular forms, enter stage right - all-singing, all-dancing generic Windows Forms
  • Context Menus – Windows Forms have one main menu and a separate context menu for popups, both of which you can change via a new built-in on-form editor
  • Goodbye Variant – there'll be no more Variant data type, though the Object type will now be able to hold a primitive data type, Empty, Nothing, Null or a reference to an object
  • Improved Operations – new clipboard and drag-and-drop features
  • Web Services – easily expose your objects via the Web with the Simple Object Access Protocol (SOAP)
  • No DAO/RDO Binding – don't upgrade straight away if your application uses DAO/RDO data controls
  • Unified IDE – all Microsoft languages will use the same development environment
  • Extensibility Model – all Microsoft development environments will have the same extensibility object model, allowing you to, say, write a C++ add-in within Visual Basic
  • Easier Deployment – you can register components by simply copying them into a directory, no more regsvr32.exe
  • No OLE Container – this control has been removed
  • New Graphics Methods – which will replace Circle, CLS, PSet, Line and Point
  • No Shape or Line Controls – all removed
  • Inheritance – object-orientated buzzword that means you can derive a class from its parent class
  • Short-Circuit Evaluation – If you run this code in Visual Basic 6, it will gets the result of both functions, then evaluate them: If Function1() And Function2() Then ... but in VB.Net, if the first call returns a False, the operation is immediately aborted
  • Miscellaneous – Initialise variable values on the same line as you declare them. No more fixed-length strings. No fixed-size arrays when using UDTs. No GoSub/Return. No VarPtr, ObjPtr, StrPtr and such. No more LSet. No more 'As Any' declarations. Setting a Timer to 0 will no longer disable it. Windows forms will not support DDE. The Name property will no longer by available at runtime. True will no longer equal 1, it will equal –1. In VB.Net, adding a Null to another string will generate a mismatch error, whereas currently the whole concatenation operation would return a Null. And, Or, Not and Xor will no longer be Boolean operators – they will be replaced with BitAnd, BitOr, BitNot and BitXor

    Upgrade your browser to  Internet Explorer 6.0 (link to setup file - 496 Kb)    

                                                                    Any questions?