ТС залей плиз все книги на облако и кинь ссыль, а то я только по первой книге уже обрысачил 2 страницы гугла и везде только платно или читать онлайн
Мне вот интересно. В программировании я ноль. То есть на данном этапе для меня что программист, что веб-программист это одно и тоже ( ну и многие другие ). Я не знаю абсолютно ничего.
Я бы хотел уйти с головой в разработку игр, в частности мморпг ( онлайн ). В принципе, на обучение я могу потратить около 5-7 лет, но не могу пойти учиться, т.к. бизнес забросить я не могу, он все таки кормит, да и глупо это. Но уж сильно тянет меня на создание игр. Да и к тому же скорей всего мморпг будет первым жанром который перейдет в ВРмморпг.
Не посоветуете с чего стоит начинать ? Языки, литература, программы? Если не сложно, буду благодарен за развернутый ответ.
Давайте сделаем так. Думаю многим это тоже будет интересно. Я в течении недели подготовлю длиннопост на эту тему, где подробно разберу некоторые технологии и средства разработки. Соответственно литература тоже там будет.
Операционные системы, Silberschatz/Рихтер/Соломон-Руссинович/Робачевский/Вахалия/Стивенс/Love/Linux Kernel Internals, менеджер памяти, менеджер кучи и ее устройство (LAL/LFH/slab), менеджер устройств, менеджер процессов, context switch, реальный и защищенный режим, исполнимые файлы (PE/ELF/Mach), объекты ядра, отладочные механизмы (strace/ptrace/dtrace/pydbg, Debug API) и минидампы, bash, сетевой стек и высокопроизводительные сервера, netgraph, CR0, IPC, оконная подсистема, система безопасности: ACE/ACL и права доступа, технологии виртуализации, RTOS (QNX), программирование драйверов, IRQL, IRP, файловые системы, BigTable, NDIS/miniport/FS drivers/filter driver, Mm-, Io-, Ldr-функции, DKOM и руткиты, GDT/IDT/SDT, ядра Windows/Linux/BSD, POSIX
Компонентно-ориентированные модели, Роджерсон/Таварес, COM/OLE/ActiveX/COM+/DCOM RPC, ATL, апартменты, моникеры, MIDL, XPCOM, CORBA, TAO, D-Bus
Сеть, Стивенс, OSI model/Internet model, Ethernet, TCP/IP, TCP window, алгоритм Нейгла, сокеты, Protocol buffers/Thrift/Avro/ASN.1, AMQP, ICMP, роутинг/BGP/OSPF, ARP, атака Митника, syn flood, HTTP/FTP, P2P/DHT, DHCP, SMB/NBNS, IRC/XMPP, POP3/SMTP/ESMTP/IMAP, DNS, WiFi/WiMax/GSM/CDMA/EDGE/Bluetooth/GPS, ACE, Wireshark
Графика и GPGPU, алгоритм Брезенхема, цветовые модели, трассировка лучей vs полигональная графика, OpenGL/GLSL/Open Inventor, DirectX/DirectShow/DirectAudio/HLSL, stencil/depth/alpha-test, графический конвейер в DirectX 11, шейдеры, модели освещения (Фонг), пропускная способность, fillrate, OpenCL/CUDA/AMP, ландшафты, лоды, тени, deferred shading, текстурирование и фильтрация, антиалиасинг, HDR, tone mapping, virtual/augmented reality
Форматы, XML/XSLT/XPath/XMLStarlet/DOM/SAX, RTF/ODF, JSON/BSON/bencode, YAML, JPEG/PNG/WebP, AVI/MPEG/RIFF/WAV/MP3/OGG/WebM, SVG, Unicode, кодировки однобайтные/UTF-8/UTF-16/UCS-2/UTF-32, проблемы длины и сравнения Unicode-строк
Базы данных, Грубер/Дейт, ANSI SQL, T-SQL, ODBC, MySQL/PostgreSQL/MS SQL/BDB/SQLite/Sphinx, хранимые процедуры, триггеры, алгебра Кодда/А, Tutorial D, нормальные формы, оптимизация и выполнение запросов, структуры данных индексов, транзакции и ACID, CAP-теорема Брюера, NoSQL, key-value storage, шардинг, ORM (C++ ODB), ERD, OLAP, семантическая сеть, triplestore, RDF/Turtle, SPARQL, OWL, Semanticscience Integrated Ontology, reasoner, DBpedia
Прикладное программирование, C#/F#, Шилдт/Троелсен/Рихтер, генерики, yield, linq/plinq, рефлексия, AST, WCF, WinForms/WPF/Silverlight, AOP, фреймворки логгирования, .NET assembly, Scala, Хорстманн/Одерски, pattern matching, макросы/квазицитаты
Квантовые вычисления, алгоритм Шора, квантовая криптография
Функциональное программирование, Haskell/Ocaml/Scheme/Alice или Oz, SICP/TaPL/YAHT/Purely Functional Data Structures/Харрисон-Филд, HOF (map/fold/filter), система типов Хиндли-Милнера, монады, тайпклассы, АТД, dependent types, ленивость/энергичность, логическое программирование (Prolog или Mercury), конкурентное программирование (Erlang или Oz)
Веб-программирование и скриптовые языки, Фланаган/Zend PHP5 Certification Course + Study Guide, Apache/nginx, CGI/FastCGI, PHP/Zend Framework/ReactPHP/Zend Engine/Doctrine или Propel/CodeIgniter или Symphony или Yii, Python/Django/Twisted, Ruby/RoR, ASP.NET MVC, JavaScript/jQuery/React/Google Closure/ExtJS/node.js, ООП в JavaScript, HTML5, CSS3/табличная и блочная верстка, RSS, canvas/WebGL, Ajax/WebSockets, вопросы безопасности (XSS, SQL injection, CSRF), highload, C10k problem, SWIG
Проектирование GUI и представление информации, Раскин/Тафти, юзабилити, основы дизайна и типографики, закон Фиттса, основы верстки, LaTeX
Д. Флэнаган, Ю. Мацумото "Язык программирования Ruby", Сэм Руби, Дейв Томас, Дэвид Хэннсон "Rails 4. Гибкая разработка веб-приложений. http://rubydev.ru/ и https://www.codecademy.com/learn/ruby и это http://codenamecrud.ru/ruby-programming
Просто пост в текущем виде выглядит как очередные "10 крутых книг, которые должен прочитать каждый".
2-я книга - быстро освоить питон
3-я книга - поймте базово алгоритмы, сможете продумывать более сложные программы
4-я книга - отвлекаемся от кодинга, понимаем линукс, ибо маст хев
5-я книга - вникаем в ООП и начинаем писать полноценный работающий код со знанием дела и платформы
1) Эндрю Троелсен "Язык программирования C# 5.0 и платформа .NET 4.5"
2) Стиллмен Э. "Изучаем C#"
3) Йен Гриффитс "Программирование на C# 5.0" (тут более углублённый курс)
https://www.codecademy.com/
рекомендую
Да, на английском, зато процесс обучения очень приятный и наглядный
Шифропанки это скорее поп литература. Если уж для программистов, то "Network Security with OpenSSL" (к сожалению не знаю как русский вариант называется). Там суть как раз для разработчика и описана довольно просто.
По мне так пзц какой-то происходит. На пикабу уже каждый третий пост по программирование, а значит рынок засоряется школьниками, удешевляет его, и качество падает. Кто знает, тот поймёт о чём я. В убытке - все.
Просто как я считаю, если кому-то это будет действительно интересна эта сфера, он найдёт нужную литературу за две минуты в интернете. А эти постоянные посты лишь подталкивают всех подряд, заниматься тем, что у них скорее всего не получится и будет зря потрачено время. Почему никто не размещает информацию для других профессий? Даже в той же IT-сфере, коих с головой и больше
Совет на самом деле какой-то дилетантский :\
Начинающему программисту сначала нужно ответить себе на вопрос, "я действительно хочу быть программистом?", потому что как правило программист - это фанатик своего дела.
Затем нужно понять какая область разработки тебе интересна: бизнес, игрострой, веб и пр. и на основе этого уже выбрать ЯП, а затем изучив синтаксис языка в прямом смысле начать ебошить, что-то писать, поставить себе цель и обязательно закончить этот проект.
Обязательным пунктом так же является знание баз данных и sql.
И главное программист должен знать инглиш, это просто ультимативно, если хотите стать толковым прогером и уметь читать между строк, если будите читать все книги полностью, вам жизни не хватит, конкретная тема, конкретный раздел - ага, для моей задачи - беру.
Блин вот пришлось зарегистрироваться даже, накипело от советов для программистов уже :)
Ну подробный разбор - эта тема для другого топа и благо статей в инете по этой теме за глаза, аоэтому не останавливался подробно. Всё же длиннопост о литературе для прогера, а не сакральном смысле и философии оных.
Не могли бы Вы посоветовать ресурсы для изучения python'a.
Пробовал читать Лутца, но не то - ооооооочень много воды льет и повторяет он одно и то же.
Заранее спасибо!
---------------------------------------------------
Многие начинающие программисты, особенно обучающиеся в провинциальных вузах, часто не знают, в какую сторону им развиваться, и что они должны знать для того, чтобы эффективно работать по специальности. Удивительно, но каждый день используя продукты и технологии, созданные другими программистами на основании развитых областей знания, они даже не догадываются о том, как они устроены.
Построенные на теории массового обслуживания и стандарте GSM сети мобильной связи; PHP-скрипты, исполняющиеся на удаленных серверах и передающие свою выдачу через Ethernet по TCP/IP на компьютеры с NDIS-драйверами; процессоры, переупорядочивающие и спекулятивно исполняющие наборы инструкций для того, чтобы скомпенсировать вызванную ограничениями полупроводниковой электроники и скоростью света остановку роста тактовой частоты; рассчитанные на ЭВМ корпуса самолетов и автомобилей, лекарства и структуры ДНК; компьютерные игры, ради крохотного блика в которых пишутся мегабайты заполненных интегралами Френеля статей; электронные фильмы и книги; алгоритмы NLP и TreeNet, вызывающие нам из огромных баз данных поисковую выдачу — вот то, что окружает нас каждый день благодаря программистам, благодаря оригинальным подходам и фундаментальным знаниям, благодаря продуманной и отточенной десятилетиями методологии разработки и управления сложностью ПО.
Я и мои единомышленники взяли на себя труд составить теоретический минимум для программиста на основании наиболее ярких отраслей IT, вошедших даже в программы нормальных университетов, на основании собеседований и постоянно пригождающихся на практике знаний. Часть из пунктов этого минимума можно изучить за 5 минут по википедии, часть же потребует серьезного труда на протяжении нескольких месяцев, но это именно то, что обязательно следует знать и чем следует свободно владеть. В комментариях приветствуются исправления и дополнения.
C++, стандарт, Comeau, 1TBS, Страустрап/D&E/Джосаттис/Вандервуд, Дьюхэрст/Мейерс/Саттер, RAII/copy-and-swap/exception-safety, правило пяти, Александреску/Абрахамс-Гуртовой, type erasure, CRTP, NVI, SFINAE, Koenig lookup, Duff's device, Boost, Сик-Ламсдейн/Карлссон, TR on C++ performance, тест Степанова, forwarding problem/move semantics, SPECS
Компиляторы, особенности реализации стандарта, ограничения реализации, интринсики, отличия стандартных библиотек (контейнеры, rand), ABI, реализация виртуальных функций, виртуального наследования, исключений, RTTI, switch, указателей на функции и методы; оптимизации, copy elision (RVO, NRVO), sizeof на различных платформах, дефайны компилятора и среды, __declspec, ключи компилятора, empty-base optimization, статическая и динамическая линковка, манглинг, распределенная компиляция, precompiled header, single compilation unit, (strict) aliasing/restrict, inline/_forceinline, volatile
Мультитредность, обедающие философы, deadlock/livelock/race condition/starvation, атомарность, lock инструкции процессора, memory model/barrier/ordering, CAS или LL/SC, wait/lock/obstruction-free, ABA problem, написание lock-free контейнеров, spin-lock, TLS/per-thread data, закон Амдала, OpenMP, MPI, map-reduce, critical section/mutex/semaphore/condition variable, WaitForSingleObject/WaitForMultipleObjects, green thread/coroutine, pthreads, future/deferred/promise, модель акторов
Язык ассемблера, Зубков/Хайд/Дреппер/Касперски/Фог/Абраш, x86, FPU/MMX/SSEn/AVX, AT&T и Intel-синтаксис, masm32, макросы, стек, куча/менеджеры кучи, соглашения вызова, hex-коды, машинное представление данных, IEEE754, little/big endian, SIMD, аппаратные исключения, прерывания, виртуальная память, реверсинг, срыв стека и кучи, return oriented programming, alphanumeric shellcode, L1/L2/RAM/page fault и их тайминг, язык ассемблера ARM
Аппаратное обеспечение, Хоровиц-Хилл/Титце-Шенк/От физики к Си от panchul, полупроводниковая электроника/спинтроника/фотоника, транзистор, триггер, схемотехника, микрокод, технология создания процессоров, logic synthesis, static timing analysis, FPGA, Verilog/VHDL/SystemC, SISAL, Arduino, устройства памяти (ROM → EEPROM, RAM, SSD, HDD, DVD), RISC/CISC, Flynn's taxonomy ([SM]I[SM]D), принстонский и гарвардский подход, архитектуры процессоров, архитектуры x86, VID/PID
Процессоры, конвейеризация, hyper-threading, out-of-order execution, спекулятивное исполнение, static/dynamic branch prediction, префетчинг, множественный ассоциативный кэш, кэш-линия/кэш-промах, такты, кольца защиты, память в мультипроцессорных системах (SMP/NUMA), тайминг памяти
Дискретная математика, K2, теорема Поста, схемы, конечные автоматы (ДКА и НДКА), автомат Калашникова, клеточные автоматы
Вычислимость, машина Тьюринга, нормальные алгоритмы Маркова, машина Поста, диофантовы уравнения Матиясевича, лямбда-функции Черча, частично рекурсивные функции Клини, комбинаторное программирование Шейнфинкеля, Brainfuck, эквивалентность тьюринговых трясин, проблема останова и самоприменимости, счетность множества вычислимых функций, RAM-машина, алгоритм Тарского, SAT/SMT-солверы, теория формальных систем
Языки программирования, грамматики, иерархия Хомского, теорема Майхилла-Нероуда, лемма о накачке и лемма Огдена, алгебра Клини, НДКА → ДКА, алгоритмически неразрешимые задачи в формальных языках, Драгонбук, Фридл, регекспы и их сложность, PCRE, БНФ, Boost.Spirit + Karma + Qi/Ragel, LL, LR/SLR/LALR/GLR, PEG/packrat, yacc/bison/flex/antlr, статический анализ кода, компиляция/декомпиляция/обфускация/деобфускация, Clang/LLVM/XMLVM/Emscripten, GCCXML, OpenC++, построение виртуальных машин, JiT/AoT/GC, DSL/DSEL
Алгоритмы и комбинаторная оптимизация, Кормен/Скиена/Седжвик/Кнут/Ахо-Хопкрофт-Ульман/Пападимитриу/Шрайвер-Голдберг/Препарата-Шеймос/e-maxx.ru, структуры данных, алгоритмы, сложность, символика Ландау, теорема Акра-Баззи, time-space tradeoff, классы сложности, NP-полные задачи, КМП, графы и деревья, потоки в сетях, матрица Кирхгофа, деревья поиска (особенно RB-дерево и B-дерево), occlusion detection, куча, хэш-таблицы и идеальный хэш, сети Петри, алгоритм русского крестьянина, метод Карацубы и матричное умножение Винограда-Штрассена, сортировки, жадные алгоритмы и матроиды, динамическое программирование, линейное программирование, diff-алгоритмы, рандомизированные алгоритмы и алгоритмы нечеткого поиска, псевдослучайные числа, нечеткая логика
Численные методы, дихотомия/метод Ньютона, интер- и экстраполяция, сплайны, метод Гаусса/Якоби/Зейделя, QR и LU-декомпозиция, SVD, МНК, методы Рунге-Кутты, метод Адамса, формулы Ньютона-Котеса, метод Ритца, метод Бубнова-Галеркина, метод конечных разностей/элементов, FFT/STFT, сходимость и устойчивость
Машинное обучение, Рассел-Норвиг/Bishop, подходы к моделированию AI, переобучение/кроссвалидация, байесовские сети, нейросети, сети Кохонена, Restricted Boltzmann machine, градиентный спуск/hill climbing, стохастическая оптимизация (метод Монте-Карло, метод отжига, генетические алгоритмы, муравьиные алгоритмы), SVM, gradient boosting, кластерный анализ, метод главных компонент, LSH, обучение с подкреплением, MDP, information retrieval/data mining/natural language processing, машинное зрение, Szeliski, OpenCV, image processing, OCR, фильтры Собеля, каскад Хаара, Viola-Jones framework, SURF, введение в психофизиологию зрения, IPython/pandas/scikit-learn
Теория информации, сжатие, Хаффман, RLE, BWT, LZ, коды коррекции ошибок, сжатие с потерями (изображения, аудио, видео), информационная энтропия, формула Шеннона, сложность Колмогорова
Криптография, Шнайер/Ященко, Принцип Керкгоффса, симметричная (DES, AES), асимметричная (RSA), качество ГПСЧ, алгоритм Диффи-Хеллмана, эллиптические кривые, хэширование (MD5, SHA, CRCn), DHT, криптостойкость, криптоатаки (атака гроссмейстера), WEP/WPA/WPA2 и атаки на них, цифровая подпись и сертификаты, PKI, HTTPS/SSL, доказательство с нулевым разглашением, пороговая схема
Математика, Кнут-Грэхем-Паташник/Зорич/Винберг, Spivak/Dummit-Foote, матан, линал, комплан, функан, диффгем, теория чисел, дифуры/интуры/урчпы/вариационное исчисление/оптимальное управление, производящие функции, ряды, комбинаторика, теорвер/матстат/слупы/теория массового обслуживания, цепи Маркова, интегральные преобразования (Фурье, Лаплас, вейвлет), NZQRCHOS, матпакеты (Mathematica, Maple)
Физика, правила Кирхгофа, закон Джоуля-Ленца, комплексное сопротивление, скорость и частота света, уравнения Максвелла, лагранжиан и гамильтониан
Химия, стехиометрия, химия кремния :)
Архитектура и стиль кода, Макконнелл/Фаулер/Лебланк/Гамма/Александреску-Саттер/Буч, защитное программирование, паттерны, SOLID/GRASP/KISS DRY SPOT/YAGNI, UML, OOP (Smalltalk), OOD/OOA, метрики кода
Методологии разработки, Waterfall/RUP/Agile/Scrum/Kanban/XP, TDD/BDD, CASE
Тестирование, юнит-тесты, функциональное, нагрузочное, интеграционное тестирование, тестирование UI
Инструментальные средства разработки, IDE, IntelliSense, отладчики (VS/Olly/WinDbg/kdb/gdb) и трейсеры (strace/ltrace), DWARF debug information format, дизассемблеры и декомпиляторы (IDA/HexRays/Reflector), системы контроля версий (SVN, GIT), merge/branch/trunk, системы именования файлов и бранчей, continuous integration, ant, code coverage, статический анализ (lint, cppcheck), динамический анализ (valgrind, фаззинг), верификация и валидация ПО (Frama-C, RAISE (RSL), Coq), профайлинг, багтрекеры, документирование кода, системы сборки (CMake), пакетные менеджеры (NuGet)
Фреймворки, Qt, moc и метаинформация, концепция слот-сигнал, Саммерфилд-Бланшет/Шлее, PoCo, промышленные библиотеки: GMP, i18n, lapack, fftw, pcre
Притом, что я ни разу не вундеркинд.
Автор советует странные книжки, так что относитесь к его постам аккуратно.
Для образования, именно последовательного образования нужно следовать какой-либо программе.
1. В СПб есть такой https://compscicenter.ru/ у них несколько направлений, к сожалению они не расписаны полностью, но думаю легко им написать и попросить план занятий. Дальше учитесь по их лекциям. Не очень удобно.
2. От того же compscicenter на stepic.org есть вводные курсы, ликбез по математике, введение в архитектуру, несколько языков и т.п.
3. Coursera, англ. яз., там есть и отдельные курсы и "специализации" - серии курсов. Начните например с такой https://www.coursera.org/specializations/fundamentalscomputi... . Они бесплатные, платно это получение сертификата.
Советую подойти к этому вопросу систематически, так будет проще в дальнейшем, а не в стиле я учу С++ значит я программист.
Товарищи! Я не создавал учебную программу для придерживания ею. Тут нет комплекса рекомендаций для обучения. Это рекомендованные к прочтению и пониманию книги.
Еще такая проблема : какую книгу не начинаю читать везде написано, что человек, который эту книгу читает, уже должен знать что такое переменные, циклы, массивы и т.д.
Я пытался уже освоить Си, так как мне сказали, что он легок для новичков, но видимо я совсем тупой, потому что он показался мне сложным, и я решил выбрать язык ещё легче
Люди обычно с Си на питон переходят) Но вообще все основы сможете понять на питоне, а дальше добро пожаловать в мир программирования)
"Если хочешь выучить программирование - пиши код", это кругом все советуют, что книги это хорошо, но без практики ничего не добьешься и практика - это 80% от обучения. Но пока что все что я могу - это решать тривиальные задачи, по типу чисел Фибоначчи или выведите самое большое число из 3х. Но как же заставить понять себя как написать что-то действительно нужное.
Например есть сайты с задачами для программистов. Разного уровня. Затем придумай свой личный проект, пускай он будет полностью дублировать чей-то существующий. Главное реализуй его. Ты никак себя не заставишь. Старайся не циклиться только на математических задачах. Например попробуй написать морской бой с небольшим интерфейсом. Или супер марио.
это самая большая моя проблема. Я не могу понять как это работает, но с пониманием ООП оно как то проясняется. То есть я не могу понять как набор функций сможет, к примеру, отформатировать изображения.
НУ в целом я пока не особо понял чего хочу, но точно не веб - считаю что веб это копипаста на 80%. Наверное все же охота программировать микроконтроллеры и робототехника. Возможно игры
Ну в данный момент я начал читать про ООП на плюсах, думаю что бросить читать книгу Шилдта на половине и снова подаваться в скитания к Питону - не вариант. Просто по той причине что в сумме я уже столько всего начитал, что хочется хоть где-то дойти до конца.
Тут возникает резонный вопрос по поводу того, а что дальше ? Я в любом случае не пойму С++ на столько хорошо, чтобы писать на нем с одной то книги по базовым понятиям автора которого я назвал выше. Думаю следующий толмут взять - Дейтелов. А затем, когда начну уже с горем пополам писать, выучить шарп и дот нет или же Java. Каково Ваше мнение на расписанную мною тактику ?:)
К шарпу я отношусь крайне скептически, ибо дальше окон не уедите. Сейчас тут начнутся вливы по поводу веба на шарпе, но как по мне - это бред. Вы для себя со сферой определитесь. Поймите, нет одного для всего. Python имеет максимальную полигаемость сфер, тут вам и веб, и андроид, и системный кодинг, наука и много чего ещё. Просто грубо говоря если вы хотите гейм дев, то не нужно начинать с Perl, а сразу смотреть на C++, но при этом если смотрите на веб, не начинайте с чистого Си.
Поэтому вопрос, какую сферу хотетите постигать? Базис то у всего один, от алгоритмов, дискретной и высшей математики никуда не уйти, принципы ООП одинаковы, просто синтаксис языков разный. ООП, он и на Python, и на Java ООП. Я образно описал.
Спасибо за пост, сохраню.
Но вот можно еще и вопрос я задам.
Вот сколько я не читал форумов и прочьего, советов по тому с чего же начать учить - масса.
Одни кричат что нужно освоить для начала паскаль, мол он научит программировать, а дальше уже и поймешь куда идти, другие кричат что лучший выбор для старта - это С++, мол все языки основаны на его синтаксисе и после плюсов будет не сложно уйти куда хочешь. Вы же пишите(и не только Вы) что лучший выбор со старта - это Питон. Начинал я учить с экмы, потом пыха, теперь вот последовал советам и учу плюсы, так что, теперь бросить все и переключиться на питон ? Или же все же понять плюсы ? Я запутался :(
На это вопрос происходят постоянные дебаты. Некоторые советуют С++, как язык для старта, но на мой взгляд это сложный язык для понимания основ. Python очень хороший язык, но при этом у него довольно абстрактно присутствует ООП. Дело в том, что Python не требует жёстко придерживаться принципов ООП, а подразумевает его использование там, где это необходимо и не использовать там, где толку от этого мао. Меня тут сейчас заминусуют, но я предложил бы Вам начать с Python для понимания приципов программирования, как формируется код, написать простенькие программы и въехать в основы, а затем переключиться на Java. В отличие от С++, Java более простой язык, тут меньше шансов "прострелить себе ногу" и для неопытного программиста это будет отличным вариантом. Да и Python и Java всегда прокормят. + Python в фреймворке Django. то есть намного проще будет дать старт в вебе, если рассматриваете это направление. То есть не придётся изучать другой язык, что бы начать писать в вебе, а заострить внимание на других технологиях, таких как JS например. Java позволит войти в мобильную разработку (Android). Кстати Python также позволяет писать приложени для Android.
слышал что совместно с изучением ООП необходимо так же изучать дискретку, так ли это? Если да, то не могли бы подсказать пару годных книг?
Дискретную математику в приципе изучать нужно. Я бы посоветовал книгу "Дискретая математика для программистов" (Р, Хаггарти) и "Дискретная математика: Учебик для вузов. 2-е издаие" (Ф.А. Новиков) +)
Еще один вопрос. Я их буду задавать по мере поступления, если Вы не против.
Какую версию пайтона лучше ставить - 2.7 или более позднюю?
Видимо, я недостаточно подробно выразился. Какие преимущества мне, как программисту, даст Linux, в отличие от мака\винды?
Ну к примеру, сижу я пишу скрипт на том же python. Как на процесс написания кода влияет ОС, и чем влияние(если оно есть) Linux'a лучше, чем влияние мака\винды?
набор для редко устраивающихся программистов
питон и линукс? не очень сейчас на них вакансий много
пиздец что я вам могу сказать, "ДЖАНГО ЭТО ТОТЖЕ ПИТОН" это просто 100 балов 11 лет опыта у чувакa... ".NET это тот же С#, RAils - это тот же руби, PHOENIX- это тот же элексир, React.js - это тот же джабаскрипт "блядь чувак ты made my day!
ПХП - это язык, на пхп есть куча фреймверков таких как Symphony(MVC) например или Yii. Python - это язык у него тоже есть фреймерк под названием Django (может есть еще другие я не из питономира поэтому не знаю) Но блядь ! фреймверк - написанный на этом же языке, ну как так можно ребята ну ебана...
Ну вот кто-нибудь! Помогите с пониманием в первую очередь необходимости ООП. Про последнюю книгу отзывы не впечатлили. Сам студент, уже скоро по ООП экзамен сдаю,а толком понятия не имею, для чего оно вообще нужно.
Я лишь намекнул что это бессвязная подборка книг к прочтению, точно так же можно посоветовать любые другие 5 книг. Учитывая качество подборки, нужно будет аккуратно относиться и к последующим советам.
В такой связке эти книги очень хорошо подойдут для самообразования. Чтобы выучить мат часть так сказать можно в библиотеке программиста в лекциях поковыряться. http://vk.com/proglib кто ищет, то всегда найдёт, как говорится.
Ммм, как с ангийским дела? Просто на русском мало материала. А вообще идём сюда http://vk.com/page-54530371_49325511 и постигаем науку ios разработки. И определяемся что пишите, я имею ввиду игрострой или медиа и так далее.
О запретах речи нет, я лишь замечаю активное перенасыщение, в то время когда другие направления абсолютно пусты в огласке. Изредка можно встретить что-нибудь про рисование, но даже это не помню, когда последний раз было. А всё наверное потому, что как и написал изначально: людям будет надо - они за две минуты найдут всю информацию. А такие посты - не более, чем пропаганда
Подпишусь на аргументированный и пространный пост о ненависти к ПХП и о любви к Джанго :). Ну а если серьезно, сам на перепутье - решил перейти в веб-программирование (из прикладного), не знаю что "рентабельнее" учить. Всегда думал, что ПХП это некая основа, в с связке с HTML, CSS и JS. Не поленись, Бро, поделись опытом.
Уууу... кинули говна на вентилятор. И каждый сейчас будет за свой язык толкать. Я вот например Джава пакет предложил бы, "Thinking in java", ну и "The C Programming Language". Для начала. Алгоритмы неизбежно впитаются в кость если что-то вменяемое на Си попробуете написать. Java уже для свободного плавания.
Можете тогда посоветовать книги по Си я начал читать Гриффитса, но там написано, что это книга для тех кто уже знает основы программирования
Не могли бы вы что-нибудь посоветовать студенту-программисту, который только определился с предпочтениями и очень жаждет развиваться в разработке, но не знает куда смотреть, с чего начать. Мне интересны SQL и C#. Какие технологии востребованы, чему стоит научиться? Что обязательно пригодится и что поможет в улучшении навыков? Буду крайне признательна за подсказку от старших коллег)
Вот по C# я не лучший советчик, только по книгам сказать могу, так как быстро ушёл с этого ЯП. Так что может кто тут или на просторах сети расскажет.
Книги по шарпу вот:
1) Эндрю Троелсен "Язык программирования C# 5.0 и платформа .NET 4.5"
2) Стиллмен Э. "Изучаем C#"
3) Йен Гриффитс "Программирование на C# 5.0" (тут более углублённый курс)
по SQL:
SQL (Крис Фиайли)
А какой язык выбрали или сферу, ну например веб, геймдев, биг дата? Вообще всей описанной в поте литературы вам хватит на первое время. Ну первую читать по желанию конечно)
И конечно мои личные предпочтения. Думаю сравнение языков можно сделать отдельным топом, если желаете.
Что за сумасшедший писал этот список? Кому блять нужен какой-то Comeau,атака Митника и прочая хрень, этим списком вы только людей запутаете, хотя может вы это и намеревались сделать. Ни один человек в мире и четверти этого не знает.Нужно изучать по мере необходимости.
Если ты читаешь книжку по программированиб на русском то скорее всего она устарела уже лет 5 назад.
Никогда не понимал утверждения "Если ты программист - то ты обязан знать Linux". До сих пор никто так и не смог мне внятно и аргументированно рассказать, чем же он для программиста лучше той же винды или мака. Само-собой, дотнеты и т.д. во внимание не берутся.