Автор: Петър Пенчев (---.nanolink.com)
Дата: 24-02-05 03:39
Самите езици са описани в програмата на сайта на курса, http://netsec.iseca.org/ - програмата е на http://netsec.iseca.org/2005-2/index.php?pg=program
Колкото до нивото на познаване - няма да искаме да е прекалено високо. Повечето от нещата, за които ще говорим, са основани на действителни базови свойства на езика - начинът, по който обработва низове, начинът, по който държи елементите на един масив в паметта, неща от този тип. Разбира се, ще споменаваме и по-сложни елементи на езиците за програмиране и изобщо на програмирането като цяло (защото някои неща са общи за кажи-речи всички езици), но от тях не би трябвало да има много в тестовете :)
Едно от малкото неща, в които ще навлезем наистина, са някои особености на компилируемите езици и в частност C и C++. За тях ще разгледаме наистина подробно как се разполагат различните части на програмата и данните в паметта и какви интересни изводи могат да се направят от това, и какво можем да направим след това с тези изводи. Това обаче е нещо, което е твърде основно не само за програмирането на C и C++[1], а дори за начина, по който работят *всички* програми под управлението на *всички* операционни системи с много, много, много малки изключения - това е нещо, което всеки програмист наистина трябва да знае, затова ще го обясним подробно, ще дадем и допълнителна литература и в крайна сметка ще очакваме да го научите :)
Поздрави,
Петър
[1] И ако някой се чуди защо не съм употребил още името на митичния език C/C++, срещан толкова често в обяви за работа и CV-та и толкова рядко в действителния живот, причината е именно тази - че такова жувотно нема :P
|
|