Kelanjutan dari kisah "Programmer karier . "Di halaman itu tahun 2001. Tahun di mana OS paling keren dirilis - Windows XP. Ketika rsdn.ru muncul. Tahun kelahiran C # dan .NET Framework. Tahun pertama milenium. Dan satu tahun pertumbuhan eksponensial dalam kapasitas besi baru: Pentium IV, ram 256 mb.
Setelah lulus dari kelas 9, saya memiliki antusiasme yang tidak ada habisnya untuk belajar pemrograman lebih lanjut. Melihat ini, orang tua saya memutuskan untuk mentransfer saya ke perguruan tinggi untuk "Pemrograman" khusus. Mereka percaya bahwa itu akan lebih baik dan mengajari saya di sana. Ngomong-ngomong, sekolah kata tidak cocok dengan institusi ini, di pinggiran kota industri. Itu adalah sekolah teknik reguler, tidak dibedakan dari sekolah teknis lainnya, yang tidak menggantung label dengan kata "perguruan tinggi" yang modis di fasadnya.
Baiklah kalau begitu. Saya tidak berdebat dengan orang tua saya dan tidak membantah keputusan mereka. Bagaimanapun, saya terlibat dalam pendidikan mandiri, dan berpikir bahwa di tempat baru ini saya akan diberi pengetahuan tambahan.
Musim panas itu, sebelum memasuki perguruan tinggi, saya benar-benar mulai mempelajari semua teknologi yang mungkin diterbitkan di
majalah Hacker . Saya membaca dan membacanya kembali ke lubang. Saya terutama menyukai wawancara dengan peretas sejati dan saran mereka.
Sebagian besar peretas keren duduk di Linuha. Tapi "Mazdai" (Windows) adalah untuk lamers. Siapa yang membaca majalah itu, dia ingat gaya tulisan di dalamnya. Oleh karena itu, dalam pikiran saya yang rapuh, dua ide berjuang di antara mereka sendiri - untuk meninggalkan Windows atau menjadi dingin dan duduk murni di Linux.
Setiap edisi baru majalah Hacker memberi saya alasan baru untuk memformat disk dan menginstal Linux Red Hat 7 atau Windows Me. Tentu saja, saya tidak memiliki vektor pelatihan, dan saya melakukan apa yang saya baca di majalah atau di CD bajakan seperti "Rahasia Hacker". Instalasi dua OS secara paralel juga terhapus, setelah semangat baru “Windows XP alias burung beo untuk ibu rumah tangga. Dan jika Anda ingin melakukan hal-hal serius, Anda harus bekerja dari konsol Linux dengan mata tertutup. " Tentu saja, saya ingin terlibat dalam sistem peretasan, memahami cara kerja jaringan dan menjadi Anonymous mahakuasa pada waktu itu.
Disk diformat tanpa penyesalan, dan distribusi sistem mirip Unix dipasang di dalamnya. Ya, ya Suatu kali saya membaca sebuah wawancara dengan seorang hacker sungguhan yang hanya menggunakan FreeBSD 4.3 dari konsol. Pada saat yang sama, peretasan bank dan sistem negara terdaftar di belakangnya. Itu adalah sambaran petir ke kepala, dan saya menempatkan BSD OS 5 kali sebagai sistem utama. Masalahnya adalah bahwa setelah instalasi, kecuali untuk konsol telanjang, tidak ada apa-apa di sana. Bahkan suaranya. Dan untuk mengaktifkan KDE2 dan menghidupkan suaranya, Anda harus banyak menari dengan rebana, dan memperbaiki beberapa konfigurasi.
FreeBSD 4.3 - OS Peretas Paling BanyakTentang sastra
Segera setelah saya mendapatkan komputer, saya mulai membeli buku pemrograman. Yang pertama adalah panduan untuk Turbo Pascal 7.0. Ini tidak mengherankan, karena Pascal saya sudah tahu sedikit dari kursus pemrograman, dan itu mungkin untuk melanjutkan pelatihan saya sendiri. Masalahnya adalah bahwa Peretas tidak menulis dalam Pascal. Kemudian bahasa Perl dalam mode, atau, untuk pria yang lebih keren, itu adalah C / C ++. Setidaknya itulah yang mereka tulis di majalah. Dan buku pertama yang dibaca sampai akhir adalah C, Bahasa Pemrograman Kernigan dan Ritchie. Omong-omong, saya belajar di Linux
dan menggunakan gcc dan editor KDE bawaan untuk menulis kode.
Mengikuti buku ini, Encyclopedia UNIX dibeli. Beratnya 3 kilogram dan dicetak pada halaman A3.
Di sisi depan buku, setan kartun dengan garpu rumput digambarkan dengan ketinggian penuh, dan kemudian harganya di Ukraina 125 hryvnias (ini adalah sekitar $ 25 pada tahun 2001). Untuk membeli buku, saya minta pinjaman dari teman sekolah, sisanya ditambah oleh orang tua. Kemudian, saya dengan antusias mulai mempelajari perintah Unix, editor vim dan emacs, struktur sistem file dan bagian dalam konfigurasi file. Hampir 700 halaman ensiklopedia itu ditelan dan saya menjadi selangkah lebih dekat ke mimpi - untuk menjadi seorang hatsker yang keren.
UNIX Encyclopedia - Salah satu buku pertama yang dibacaSemua uang yang diberikan kakek, nenek, dan orangtua kepada saya, saya habiskan untuk membeli buku. Buku berikutnya adalah C ++ dalam 21 Hari. Judulnya sangat menarik, dan karena itu saya tidak melihat buku-buku lain dengan kualitas lebih tinggi. Meskipun demikian, semua sumber disalin dari buku selama sekitar 3 minggu ini, dan saya sudah mengerti sesuatu dalam C ++. Meskipun saya mungkin tidak lagi mengerti apa yang tertulis dalam daftar ini. Namun sudah ada kemajuan.
Jika seseorang bertanya kepada saya buku mana yang paling mempengaruhi karier Anda, saya akan menjawab tanpa ragu - “Seni Pemrograman” - D. Knut. Itu adalah otak yang berkedip. Saya tidak tahu persis bagaimana tepatnya buku ini jatuh ke tangan saya, tetapi itu telah membuat pengaruh terkuat pada karir masa depan saya.
Seni Pemrograman - harus membacaSaya membeli buku terutama di pasar radio, yang hanya berfungsi pada hari Minggu. Setelah menyimpan beberapa lusin hryvnias berikutnya untuk sarapan, saya mencari buku baru tentang C ++ atau mungkin Perl. Pilihannya cukup besar, tetapi saya tidak memiliki mentor, jadi semuanya dipelajari secara berurutan. Saya meminta penjual untuk merekomendasikan saya sesuatu untuk pemrograman. Dan sejauh yang saya ingat, dia mengambil dari rak “Seni Pemrograman. Tom Pertama. " Buku itu jelas sudah digunakan. Sudut-sudut penutup dibengkokkan, dan ada goresan besar di bagian belakang, tepat di tempat Bill Gates meninggalkan komentarnya: "Jika Anda membaca buku ini, Anda tentu harus mengirimkan saya resume" ditandatangani olehnya. Saya tahu tentang Gates dari majalah, dan saya pikir akan senang mengiriminya resume, meskipun semua peretas memilikinya. Buku itu bernilai 72 UAH. ($ 15), dan saya segera bergegas pulang dengan trem untuk mempelajari materi baru.
Seberapa dalam dan hal-hal dasar yang saya baca, tentu saja saya tidak bisa mengerti pada usia 15. Tetapi dia dengan rajin mencoba menyelesaikan setiap latihan. Suatu ketika saya bahkan berhasil memecahkan masalah dengan peringkat kompleksitas 25 atau 30. Ini adalah bab tentang induksi matematika. Meskipun saya tidak suka matematika sekolah dan meraihnya dengan buruk, tetapi di atas matras. Analisis Knut - Saya duduk berjam-jam.
Selanjutnya, bab kedua melanjutkan struktur data. Gambar-gambar dan gambar-gambar dari daftar terkait, pohon biner, tumpukan dan antrian masih di depan mataku. Selama 12 tahun karir saya dalam pengembangan komersial, saya telah menggunakan sebagian besar bahasa umum.
Ini adalah C / C ++, C #, Java, Python, JavaScript, Delphi. Dan tidak peduli bagaimana bahasa itu disebut, perpustakaan standarnya memiliki struktur data dan algoritma yang dijelaskan oleh Donald Knuth dalam buku tiga jilidnya. Karena itu, mempelajari sesuatu yang baru tidak membutuhkan banyak waktu.
Volume pertama ditelan dengan cukup cepat. Saya menyalin algoritma yang diberikan dalam buku Knuth ke C. Itu tidak selalu berhasil, tetapi semakin saya berlatih, semakin banyak kejelasan yang muncul. Semangat itu tidak berlaku. Setelah selesai dengan volume pertama, saya tidak ragu untuk menjalankan dan membeli volume kedua dan ketiga. Saya telah mengesampingkan yang kedua, tetapi untuk yang ketiga (Penyortiran dan Pencarian), saya telah mengambilnya dengan saksama.
Saya ingat betul bagaimana saya menulis seluruh buku catatan, "menafsirkan" algoritma pengurutan dan pencarian. Seperti halnya struktur data, pencarian biner dan pengurutan cepat divisualisasikan di otak saya dengan kecepatan kilat, mengingat bagaimana mereka terlihat secara skematis dalam volume ketiga Knuth.
Cambuk itu dibaca di mana-mana. Dan bahkan pergi ke laut, tidak memiliki PC di dekatnya, saya masih meresepkan algoritma dalam buku catatan dan menjalankan urutan angka melalui mereka. Saya masih ingat berapa banyak siksaan yang harus saya tanggung untuk menguasai penyortiran piramidal, tetapi itu sepadan.
Buku berikutnya yang memiliki pengaruh kuat pada saya adalah The Dragon Book. Dia adalah "Penyusun: Prinsip, Teknologi, Peralatan" - A. Aho, R. Seti. Itu didahului oleh Herbert Shildd, dengan tugas-tugas lanjutan di C ++. Pada titik inilah titik-titik itu bersatu.
Berkat Schildt, saya belajar menulis parser dan juru bahasa. Dan kemudian, Buku Naga, mendorong saya untuk menulis kompiler C ++ saya sendiri.
Buku NagaPada saat itu, saya memiliki modem kisi-kisi Internet, dan saya menghabiskan banyak waktu di situs paling populer untuk programmer - rsdn.ru. C ++ mendominasi di sana, dan setiap pro dapat menjawab pertanyaan yang tidak bisa saya tangani. Ini menyakitkan saya, dan saya menyadari bahwa saya jauh dari para paman berjanggut ini, jadi saya perlu mempelajari bagian dalam pro dan kontra. Motivasi ini membawa saya ke proyek serius pertama - kompiler C ++ saya sendiri dari standar 1998. Anda dapat menemukan riwayat lebih rinci dan kode sumber
di pos ini .
Sekolah atau pendidikan mandiri
Tetapi kembali ke kenyataan di luar IDE. Meskipun, pada saat itu, saya semakin menjauh dari kehidupan nyata dan terbenam dalam dunia maya, semua usia yang sama dan norma-norma yang berlaku umum memaksa saya untuk kuliah. Itu benar-benar siksaan. Saya benar-benar tidak mengerti apa yang saya lakukan di lembaga ini dan mengapa saya mendengarkan informasi ini. Ada prioritas yang sangat berbeda di kepala saya. Belajar Visual Studio 6.0, mencoba dengan WinApi dan Delphi 6.
Situs firststeps.ru yang luar biasa, yang memungkinkan semua orang menikmati langkah-langkah kecil yang diambil, meskipun saya tidak mengerti gambaran umum. Misalnya, dalam teknologi yang sama MFC atau ActiveX.
Bagaimana dengan kuliah? Itu buang-buang waktu. Secara umum, jika saya menyentuh topik studi, saya belajar dengan buruk. Saya adalah murid yang sangat baik sampai kelas 6, dan kemudian bertiga terbang, dan pada kelas 8-9, saya sering bolos kelas, yang saya terima bukan sabuk ilusi dari orang tua saya.
Karena itu, setelah masuk perguruan tinggi, ada juga sedikit antusiasme.
- Di mana pemrogramannya? Saya bertanya pada diri sendiri. Tapi dia tidak berada di paruh pertama tahun ini. Tetapi ada ilmu komputer dengan MS-DOS dan Office, serta mata pelajaran umum.
Selain segalanya, saya memiliki karakter yang menarik, dan saya sangat sederhana. Kelompok beraneka ragam baru ini jelas tidak kredibel. Dan itu saling menguntungkan. Karena itu, semua jenis ejekan tidak butuh waktu lama untuk menunggu. Saya bertahan lama, sampai saya tidak tahan dan menabrak salah satu pelaku tepat di kelas. Ya, jadi dia terbang ke meja. Terima kasih kepada ayah saya - dia mengajari saya untuk bertarung sejak kecil, dan dengan hasrat akut, saya bisa menggunakan kekuatan fisik. Tetapi ini jarang terjadi, saya sering mengalami ejekan, menunggu titik didih maksimum.
Ngomong-ngomong, pelaku, sangat terkejut dengan apa yang terjadi, tetapi masih merasa superior, memanggil saya untuk pertarungan kembali. Sudah di gurun di belakang sekolah.
Ini bukan kepalan tangan anak-anak, seperti halnya di sekolah. Ada seorang Mahach yang mulia, dengan hidung yang patah dan banyak darah. Lelaki itu juga bukan dari selusin pemalu dan terampil menimbang kait dan pintasan. Semua orang tetap hidup, dan sejak itu tidak ada yang menggertak saya di "kampus untuk para programmer" ini. Saya memiliki keinginan untuk pergi ke sana dan sepenuhnya menghilang segera. Karena itu, saya berhenti membahasnya, dan tidak ada ancaman dari orang tua saya yang memengaruhi saya. Dengan keajaiban, mereka menganggap saya tinggal di perguruan tinggi untuk kelas 10 sekolah, dan saya punya hak untuk pergi ke kelas 11.
Semuanya akan baik-baik saja, tetapi kelas 11 tidak jauh dari perguruan tinggi terbaik. Saya kembali ke sekolah asal saya, bertemu dengan beberapa teman dari kenalan saya yang telah saya pelajari sejak kelas satu dan berharap semuanya akan baik-baik saja di tempat asal mereka. Hanya ada satu peringatan: Kawan, lebih mirip bandit dari seri daripada anak laki-laki yang berteman denganku di kelas bawah. Semua orang pergi ke kursi goyang, untuk mendapatkan massa otot. Saya terlihat seperti bambu. Kurus dan sangat tipis. Tentu saja, teman sekelas banteng seperti itu bisa memelintirku dengan satu kiri.
Jadi itu mulai terjadi seiring waktu. Kemudian keterampilan bertarung saya tidak berpengaruh. Sudah kategori berat yang sangat berbeda dengan saya dan anak-anak lelaki dari kelas saya dulu. Juga, fitur pemikiran saya membuat diri mereka terasa.
Tanpa menyebarkan pikiran saya di pohon, saya juga meninggalkan sekolah. Di mana saya merasa nyaman berada di depan monitor komputer, dengan pintu kamar saya ditutup. Itu masuk akal, dan secara intuitif saya merasa bahwa saya melakukan hal yang benar. Dan pergi ke sekolah adalah latihan yang tidak berguna, dan bahkan bertahan diejek di sana, yang setiap hari menjadi semakin canggih ... Cukup bagi saya.
Setelah konflik lain di kelas, dengan saya dalam peran judul, saya meninggalkan sekolah dan tidak pergi ke sana lagi.
Sekitar 3 bulan saya duduk di rumah, menghabiskan waktu luang belajar C ++ / WinAPI / MFC dan rsdn.ru.
Pada akhirnya, kepala sekolah tidak tahan dan menelepon ke rumah.
- "Denis, apakah kamu berpikir untuk belajar?" Atau Anda akan pergi? Putuskan. Dalam limbo, tidak ada yang akan meninggalkan Anda. " - kata direktur
- "Aku akan pergi" - Aku menjawab dengan percaya diri
Dan lagi, kisah yang sama. Tetap untuk menyelesaikan studi saya selama setengah tahun, sampai lulus. Jangan tinggalkan aku tanpa kerak. Orang tua saya melambaikan tangan pada saya dan menyuruh saya untuk pergi sendiri dengan direktur. Saya datang ke kepala sekolah. Dia berteriak agar aku melepas topiku ketika aku masuk. Lalu dia dengan ketat bertanya - "Apa yang harus dilakukan denganmu?" Terus terang, saya sendiri tidak tahu harus berbuat apa. Saya cukup senang dengan keadaan saat ini. Akhirnya dia mengambil kata:
"Jadi, mari kita lakukan ini." Saya akan setuju dengan kepala sekolah sekolah malam kami dan Anda akan pergi ke sana. "
- "Ya"
Dan sekolah sore - itu adalah surga yang nyata, bagi orang-orang bebas seperti saya. Jika Anda ingin pergi, Anda ingin tidak pergi. Ada 45 orang di kelas, 6-7 dari mereka muncul di kelas. Tidak yakin apakah semua orang di daftar masih hidup, dan juga bebas. Karena hanya dengan saya, teman sekelas mencuri sepeda motor orang lain. Namun faktanya tetap ada. Saya dapat memompa keterampilan pemrograman tanpa batas, dan pergi ke sekolah ketika saya benar-benar perlu. Pada akhirnya, saya menyelesaikannya dengan lulus ujian akhir. Banyak yang tidak membutuhkannya, dan kami bahkan lulus. Kelulusan, dalam dirinya sendiri, adalah dongeng yang terpisah. Saya ingat bahwa bandit sekelas lokal mengambil arloji saya. Dan hampir tidak pernah mendengar nama belakang saya, ketika memberikan sertifikat - saya berlari mencari dokumen dan terbang keluar dari sekolah dengan peluru, agar tidak tersandung masalah lain.
Depan adalah musim panas. Dengan Donald Knut di bawah lengan Anda di pantai, laut, matahari dan keputusan penting untuk menulis proyek besar Anda sendiri (kompiler).
Bagian 3. Universitas >>