Twenty-one days. One compiler. One spreadsheet engine, built from nothing and measured.
FreeBASIC reads like the BASIC of a home computer and compiles like C. Its Integer follows the target, its records carry padding, its objects carry a hidden pointer, and its runtime takes one lock for every string operation, so habits from either side give wrong answers.
Day 1 installs fbc64 and compiles a first program. Day 5 writes the tokenizer of gridcalc, the spreadsheet engine the book grows. Day 16 parses formulas into trees, and Day 19 recalculates them on threads. Day 21 ships gridcalc as a command-line tool with exit codes and a test suite.
253 listings, each printed from the file that ran. 215 output blocks, each captured from a real run. 231 figures drawn for a black-and-white press. 99 engine tests pass under -exx. 168 quiz questions and exercises.
YOUR 21-DAY PATH
Day 1 - Installing FreeBASIC: a first program, the fbc64 compiler, warnings, dialects and -exx.
Day 2 - Variables, Data Types, and Constants: integer ranges, overflow, Const, Enum and conversions.
Day 3 - Operators and Control Flow: bitwise logic, short-circuit tests, Select Case and every loop.
Day 4 - Subs, Functions, and Parameters: ByVal and ByRef, defaults, overloading and recursion.
Day 5 - Strings and Text Processing: String, ZString, searching, comparing and a formula tokenizer.
Day 6 - Arrays, Fixed and Dynamic: ReDim, doubling, memory order and a growable grid.
Day 7 - Modules and the Preprocessor: headers, namespaces, macros and checks compiled away.
Day 8 - User-Defined Types and Unions: padding, OffsetOf, Field = 1 and the cell record.
Day 9 - Pointers and Dynamic Memory: Allocate, Reallocate, New, linked nodes and leak counting.
Day 10 - Member Procedures and Constructors: This, destructors, properties and the Sheet type.
Day 11 - Operator Overloading: Cast, Let, indexing, temporaries and a value type that carries errors.
Day 12 - Inheritance and Polymorphism: Virtual, Abstract, the cost of dispatch and expression trees.
Day 13 - Hash Tables from Scratch: hash functions, chaining, load factor and the cell map.
Day 14 - Generic Containers with Macros: pasted names, one list type per element type, measured.
Day 15 - Procedure Pointers and Sorting: qsort, merge sort, binary search and stable sorting.
Day 16 - Recursion and a Parser: the call stack, grammar rules and formulas turned into trees.
Day 17 - Error Handling and Runtime Checks: return codes, On Error, -exx costs and cycle detection.
Day 18 - Files: text, CSV and binary snapshots, damaged files and paths that do not exist.
Day 19 - Threads and Mutexes: lost updates, locks, the runtime's string lock and parallel recalculation.
Day 20 - Measuring and Optimizing: -O 3, data layout, virtual calls and formulas compiled to steps.
Day 21 - Shipping gridcalc: the command line, exit codes, a static library and release builds.
WHO IT IS FOR. Programmers who have written a program in any language and want FreeBASIC taught as a compiled, statically typed language. Students who want to see a parser, a hash table and a threaded engine built in full. Not needed: C, object-oriented programming or an IDE; a text editor and the free FreeBASIC 1.10.1 compiler are the whole toolchain.
Download book source code from: {GitHub}/{mohammadnsaqib}
377 pages, black and white.
Die Inhaltsangabe kann sich auf eine andere Ausgabe dieses Titels beziehen.
Anbieter: California Books, Miami, FL, USA
Zustand: New. Print on Demand. Bestandsnummer des Verkäufers I-9798161541838
Anzahl: Mehr als 20 verfügbar
Anbieter: PBShop.store US, Wood Dale, IL, USA
PAP. Zustand: New. New Book. Shipped from UK. THIS BOOK IS PRINTED ON DEMAND. Established seller since 2000. Bestandsnummer des Verkäufers L0-9798161541838
Anzahl: Mehr als 20 verfügbar
Anbieter: PBShop.store UK, Fairford, GLOS, Vereinigtes Königreich
PAP. Zustand: New. New Book. Delivered from our UK warehouse in 4 to 14 business days. THIS BOOK IS PRINTED ON DEMAND. Established seller since 2000. Bestandsnummer des Verkäufers L0-9798161541838
Anzahl: Mehr als 20 verfügbar
Anbieter: AHA-BUCH GmbH, Einbeck, Deutschland
Taschenbuch. Zustand: Neu. Neuware. Bestandsnummer des Verkäufers 9798161541838
Anzahl: 2 verfügbar