10 наиболее популярных книг на StackOverflow


Оглавление (нажмите, чтобы открыть):

Рейтинг языков программирования в 2020 году

Для оценки перспективности своих усилий каждый программист должен регулярно смотреть рейтинги языков программирования. Часто бывает так, что появится некоторый модный язык, о котором все начинают писать, но потом этот язык тихо исчезает. Те программисты, которые бросились изучать этот язык, вдруг видят, что их усилия оказались напрасными.

Например, в середине в 80-х стал очень популярен язык Prolog, но потом его популярность резко снизилась. И сейчас на нем практически никто не пишет. А место популярного новичка занял Python.

Как же узнать рейтинг языков программирования? Общего рейтинга не существует, так как нет простого способа собрать подобную статистику. Но существуют разные способы оценки популярности языков программирования. Рассмотрим самые популярные рейтинги.

1. Рейтинг Черной утки

Самым крупным сайтом, посвященным программам с открытым исходным кодом является сайт Black Duck (Черная утка) blackducksoftware.com

Одним из проектов Черной утки является каталог open source. В этом каталоге представлено около 500 000 проектов. Так как у всех проектов код открыт, то легко определить, на каком языке эти проекты написаны. На январь 2020 года рейтинг выглядит так.

Как видно, здесь практически половина программ (46%) написано на C. Это понятно, потому что С — это язык общения программистов. Это единственный язык, компилятор которого есть на всех платформах: от встроенных систем до суперкомпьютеров.

2. Рейтинг Wappalyzer для веб-приложений

Сервис Wappalyzer использует различные методы для идентификации веб-технологий. Рейтинг языков программирования для разработки сайтов на январь 2020 выглядит так.

В веб-программировании однозначно лидирует язык PHP, более 80% сайтов написано на этом языке.

3. Рейтинг TIOBE Index

Рейтинг TIOBE Index построен на оценке результатов поисковых запросов, содержащих название языка. Логика этого индекса очень проста: «Если язык ищут в поисковых системах, то он популярен». Конечно же, это заявление спорное, потому что программисты-профессионалы крайне редко будут искать в поисковике именно название языка программирования. Они чаще ищут решение конкретной задачи. Но громадный плюс этого рейтинга в том, что он достаточно объективно показывает интерес к тому или иному языку.

Индекс TIOBE показывает самые популярные языки программирования, информации о которых искали на 25-ти самых популярных поисковых системах, то есть запросы вида: «+» programming». Индекс подсчитывается каждый месяц.

Индекс TIOBE на январь 2020 года выглядит так:

В этом индексе однозначным лидером является Java.

На графике изменений индекса хорошо видны как менялась популярность языков программирования. Но при этом первое-второе место постоянно делят два языка Java и C. Хотя Java активно продвигается компанией Oracle, а язык C никто не продвигает.

И еще интересно то, что C++ ни разу не смог превысить по популярности C.

4. Рейтинг IEEE Spectrum

Ежегодный рейтинг IEEE Spectrum Top Programming Languages использует 11 метрик из 9-ти источников, включая поисковые запросы, упоминания в твиттере и даже упоминания в вакансиях на работу программиста. С одной стороны этот рейтинг использует больше данных, но с другой стороны во многих источниках данные имеют связанный характер. Чем больше публикуются вакансий на некоторый язык программирования, тем больше запросов будет в поисковых системах. То есть у новых языков больше шансов попасть на вершину рейтинга.

Рейтинг IEEE на 2020 год выглядит так:

Важностью особенностью рейтинга IEEE является то, что рейтинг интерактивный и можно поиграть с параметрами. В этом рейтинге лидирует Python.

5. Рейтинг Stack Overflow

Сайт Stack Overflow — это площадка, на которой разработчики могут задавать и отвечать на вопросы по программированию. Этот сайт имеет около 40 миллионов посещений в месяц. Есть русскоязычная версия сайта: ru.stackoverflow.com

Этот рейтинг рассчитывается на основе опроса разработчиков. В январе 2020 года было опрошено более 100 000 разработчиков и составлен рейтинг языков программирования. Скорее это рейтинг языков, которые вызывают вопросы. В этом рейтинге лидером стал JavaScript.

Такая популярность вполне объяснима, сейчас JavaScript бурно развивается и каждая новая возможность вызывает массу вопросов, поэтому программисты идут на сайт Stack Overflow, чтобы задать вопросы.

Любопытно, что C не попал даже в первую десятку.

6. Вакансии на Head Hunter

Можно подойти к рейтингу языков программирования с другой стороны и посмотреть, какие языки указываются в вакансиях и сколько собираются платить. Одна из самых популярных площадок для поиска работы в IT-сфере — это сайт HeadHunter. Там есть отдельный раздел — вакансии для программистов.

Внизу страницы можно посмотреть список похожих запросов и убедиться, что у работодателей немного другие запросы.

Здесь видно, что программист, знающий Pascal (среда Delphi), все еще востребован.

7. Google Books Ngram Viewer

И в конце рассмотрим чрезвычайно полезный сервис Гугл, на котором можно смотреть использование ключевых слов в публикациях.Поэтому можно смотреть популярность не только языков программирования, а любых технологий.

В начале этой статьи приведены графики использования слов Prolog и Python. А теперь введем JavaScript, Python и PHP.

Видно как в 1992 году появляется интерес к JavaScript и он быстро обгоняет Python и PHP.

Похожие записи:

Комментарии 18

Совсем мелкая ошибка в предпоследнем предложении. Вы написали «В начале этой статьи приведены графики использования слов Prolog и Pascal», а там были Prolog и Phyton.

«Для оценки перспективности своих усилий каждый программист должен регулярно смотреть рейтинг языков программирования.» — совет неоднозначный. Профессионал обычно хорошо знает 1-2 языка и специализируется на них довольно долго. Изучение другого языка происходит обычно по причине старта какого-нибудь проекта, или тупика в карьере с текущими знаниями.

Здравствуйте! Спасибо за статью!
Хотел бы узнать Ваше мнение насчет языка программирования Prolog. Дело в том, что язык программирования Prolog используется в разработке программ для искусственного интеллекта.Так как технологии искусственного интеллекта развиваются все интенсивнее, не станет ли язык программирования Prolog популярным, ну или востребованным?

Здравствуйте! Язык Prolog стал популярен в 1980-х годах в связи с японской программой создания программы искусственного интеллекта. Но эту программа кончилась грандиозным провалом. В результате все наработки были розданы бесплатно и никаких полезных программ так и не было создано. Поэтому сейчас Prolog полностью морально устарел и не используется. Даже если и будет новый прорыв в разработке искусственного интеллекта, то, скорее всего, он будет связан с другой технологией и другим языком программирования.

В девяностом году шеф мой взял аспиранта себе на написание САПР, типа Симулинк в Матлабе. Тогда ещё XT-шки были в диковинку. И был в то время бум создания «Искусственного интеллекта». Ходили шутки, что это нужно, когда своего интеллекта не хватает. Ну и аспирант этот решил создавать этот САПР на языке Пролог. Тогда ещё книг, типа Братко не было. В ДОСе работали. Ну и он разобрался в языке этом глубоко так. Ему понравилось в нём лазить по деревьям и делать откаты. В других языках это геморройно было, а в Прологе это вшито как аксиома (исходные кирпичики языка). То есть если программа заходит в тупик, то как-то самореализуется всё там, что она, делая откаты назад сама ищет выход из этого тупика. И аспиранту это нравилось в ней. Написал он в ней САПР свой, «Гаммой» назвал его, была куча публикаций. Но потом бросил заниматься этим и диссертации не защитил. Его пригласили в СберБанк программистом работать, а там зарплаты уже со стипендией аспиранта не сравнить. Так всё это и забросилось. Отчёт в семи томах кода сохранился с той поры и валяется где-то. У меня на даче очень много книг по Прологу на чердаке стопками лежит не тронутых, а Братко, по моему, аж десять экземпляров. В то время хлеб стоил сто рублей, а книги эти по рублю продавались. На растопку жалко их рвать…

Интересный обзор! А что вы можете сказать про Rust в контексте перспективы дальнейшего развития?

Золотой фонд программистской литературы по верисии Stackoverflow


Золотой фонд
Здесь публикуются ссылки на книги, считающиеся участниками сообщества http://stackoverflow.com одними из самых влиятельных среди всей программистской литературы

Макконнелл С. «Совершенный код»
Х. Абельсон, Дж. Дж. Сассман «Структура и Интерпретация Компьютерных Программ»
Б. Керниган, Д. Ритчи «Язык программирования Си»
Кормен Т., Лейзерсон Ч., Ривест Р. «Алгоритмы. Построение и анализ»
М. Фаулер «Рефакторинг. Улучшение существующего кода»
Д. Кнут «Искусство программирования»
Альфред Ахо, Рави Сети, Джеффри Ульман, Моника Лам «Компиляторы. Принципы, технологии, инструменты»
Мартин Р. «Чистый код. Создание, анализ и рефакторинг»
С. Мейерс «Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ
Брюс Эккель «Философия Java». 4-е издание
Реймонд Э.С. «Искусство программирования для Unix»
Бек К. «Экстремальное программирование. Разработка через тестирование»
Андрей Александреску «Современное проектирование на С++»
Керниган Б., Пайк Р. «Практика программирования»
Н. Вирт «Алгоритмы + структуры данных = программы»
Дуглас Крокфорд «JavaScript: сильные стороны»
Andrew S. Tanenbaum «Современные операционные системы»
Getting Real by 37 Signals
Бьёрн Страуструп «Язык программирования C++» (2011, PDF; 2013, PDF, ENG)
Р. Мартин «Принципы, паттерны и методики гибкой разработки на языке C#» (2011, PDF)
Рихтер «CLR via C#. Программирование на платформе Microsoft .NET Framework 4.0 на языке C#»
Грэди Буч «Объектно-ориентированный анализ и проектирование с примерами приложений» (3-е издание) (2008, DjVu)
Блох Дж. «Java. Эффективное программирование» (2002, PDF)
Ховард М., Лебланк Д. «Защищённый код» (2004, PDF)
Эндрю Хант, Дэвид Томас «Программист-прагматик. Путь от подмастерья к мастеру» (2000, PDF)
Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидс «Паттерны проектирования» (2001, PDF)
Фредерикс Брукс «Мифический человеко-месяц, или Как создаются программные системы» (1995, PDF)
Даглас Р. Хофштадтер «Гедель, Эшер, Бах. Эта бесконечная гирлянда» (2001, PDF)
Мейерс C. «Наиболее эффективное использование C++. 35 новых рекомендаций по улучшению ваших программ и проектов» (2000, DJVU)
Петцольд Ч. «Код. Тайный язык информатики» (2001, PDF)
Бентли Дж. «Жемчужины программирования» (2-е издание) (2002, DjVu)
Том ДеМарко «Deadline. Роман об управлении проектами» (2006, PDF)
Питер Сейбл «Кодеры за работой. Размышления о ремесле программиста» (2011, DJVU)
Working Effectively with Legacy Code by Michael C. Feathers
Peopleware by Demarco and Lister
Surely You’re Joking, Mr. Feynman!
Patterns of Enterprise Application Architecture by Martin Fowler
The Little Schemer
The Seasoned Schemer
Why’s (Poignant) Guide to Ruby
The Inmates Are Running The Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity
Practices of an Agile Developer
Don’t Make Me Think
Agile Software Development, Principles, Patterns, and Practices by Robert C. Martin
Domain Driven Designs by Eric Evans
The Design of Everyday Things by Donald Norman
Best Software Writing I by Joel Spolsky
Pragmatic Thinking and Learning: Refactor Your Wetware by Andy Hunt
Software Estimation: Demystifying the Black Art by Steve McConnel
The Passionate Programmer (My Job Went To India) by Chad Fowler
Hackers: Heroes of the Computer Revolution
Writing Solid Code
Foundations of Programming by Karl Seguin
Computer Graphics: Principles and Practice in C (2nd Edition)
The Elements of Computing Systems
Refactoring to Patterns by Joshua Kerievsky
The Annotated Turing
Things That Make Us Smart by Donald Norman
The Timeless Way of Building by Christopher Alexander
Patterns of Enterprise Application Architecture
Computer Systems — A Programmer’s Perspective
Growing Object-Oriented Software, Guided by Tests
Framework Design Guidelines by Brad Abrams
Object Thinking by Dr. David West
Advanced Programming in the UNIX Environment by W. Richard Stevens
Hackers and Painters: Big Ideas from the Computer Age
The Soul of a New Machine by Tracy Kidder
The Timeless Way of Building by Christopher Alexander
Design Patterns in C# by Steve Metsker
Alice in Wonderland by Lewis Carol
Zen and the Art of Motorcycle Maintenance by Robert M. Pirsig
About Face — The Essentials of Interaction Design
Here Comes Everybody: The Power of Organizing Without Organizations by Clay Shirky
The Tao of Programming
Computational Beauty of Nature
Writing Solid Code by Steve Maguire
Philip and Alex’s Guide to Web Publishing
Computability by N. J. Cutland
Masterminds of Programming
The Tao Te Ching
The Productive Programmer
The Art of Deception by Kevin Mitnick
The Career Programmer: Guerilla Tactics for an Imperfect World by Christopher Duncan
Paradigms of Artificial Intelligence Programming: Case studies in Common Lisp
Masters of Doom
Pragmatic Unit Testing in C# with NUnit by Andy Hunt and Dave Thomas with Matt Hargett
How To Solve It by George Polya
Smalltalk-80: The Language and its Implementation
Introduction to Functional Programming by Philip Wadler and Richard Bird
No Bugs! by David Thielen
Rework by Jason Freid and DHH
JUnit in Action

Мастер Йода рекомендует:  Внутренние факторы, влияющие на релевантность страниц

Топ-5 книг для программистов на StackOverflow

Группа разработчиков исследовала ответы на вопросы StackOverflow и выделила книги, которые наиболее часто упоминаются в крупнейшем онлайн-сообществе для программистов.

Все издания сгруппированы по тематике, что позволяет быстро сформировать список книг, рекомендованных к прочтению мировым программистским сообществом. При формировании перечня принимались во внимание ссылки на Amazon, но с учётом распространённости ресурса эту особенность исследования нельзя назвать минусом.

1. Working Effectively with Legacy Code, 309 упоминаний

На первом месте оказалась книга авторства Майкла Физерса, которая описывает процесс создания ПО по методологии Agile, раскрывая все аспекты этой нелёгкой работы: от воображаемых идеальных проектов до полного покрытия каждой итерации тестами и написания удобных исходников.

По словам создателей списка, то, насколько востребованной оказалась эта книга, наилучшим образом описывает плачевное состояние современной индустрии программирования.

2. Design Patterns, 277 упоминаний

Книга написана четырьмя сверхопытными в создании объектно-ориентированного ПО архитекторами. В ней описывается 23 шаблона, которые упрощают создание гибких, лёгких и удобных в использовании приложений.

Все 23 примера основаны на реально существующих и успешно работающих проектах.

3. Clean Code, 256 упоминаний

Роберт Мартин описывает крайне прагматичный подход к написанию лучшего кода и созданию более продуманных приложений.

4. Java concurrency in practice, 201 упоминание

Издание авторства Брайана Гетца и Тима Пейерлса даёт информацию о создании многопоточных приложений с использованием Java.

5. Domain-driven Design, 190 упоминаний

Эрик Эванс описывает то, как можно использовать моделирование предметных областей в разработке ПО.

Больше книг со ссылками и описаниями вы найдёте на сайте проекта.

10 Most Popular Programming Books On StackOverflow

Short Bytes: DevBooks has analyzed the StackOverflow’s question and answers data, and listed the most popular programming books being recommended on the platform. The website has also created a tag-based search for user convenience. According to the results, the top 3 most popular programming books on StackOverflow are Working Efficiently with Legacy Code, Design Patterns, and Clean Code.

S tackOverflow was created by 2008. Over the years, the website has grown to become one of the most popular resources for the programmers who are willing to solve a common problem. Very often many programming-related books get recommended during the discussions.

The nice folks at DevBooks have collected together the most recommended books on the website. Just in case you’re wondering how this mammoth task was performed, DevBooks first got the database dump of all user-contributed content on the website. After extracting StackOverflow questions and answers, all the Amazon.com links were counted.

The website has also sorted the books on the basis of sub-topics for your convenience. Well, without further delay, let’s tell you about the best programming books on StackOverflow:

10 Most Popular Programming Books On StackOverflow

1. Working Effectively with Legacy Code

Written by Michael C. Feathers, this books on Agile software to help you get more out of your legacy systems. In this book, Michael describes various start-to-finish strategies for working with heaps on the untested legacy code.

2. Design Patterns

Written by Ralph Johnson, Erich Gamma, John Vlissides, and Richard Helm, this book tells the precious tale of the design of object-oriented software. The authors describe many design patterns and tell you how to design object-oriented software.

3. Clean Code

Clean Code by Robert C. Martin is at number 3 in the list of the most popular programming books on StackOverflow. It describes a practical method for writing better code and building sturdy applications.

4. Java Concurrency in Practice

This excellent book by Brian Goetz and Tim Peierls describes how to build concurrent applications using Java programming language. Given the popularity of Java, it’s a very popular programming book on StackOverflow.

5. Domain-Driven Design

Written by Eric Evans, Domain-Driven Design entails the methods to incorporate domain modeling into software development.

6. JavaScript: The Good Parts

JavaScript has more than its share of the bad parts as it was released in a hurry before refinement. JavaScript: The Good Parts by Douglas Crockford is an authoritative book on the subject that helps you discover the beauty of this highly expressive language.

7. Patterns of Enterprise Application Architecture

Written by Martin Fowler, Patterns of Enterprise Application Architecture is a handbook for enterprise system developers. It helps them guide through different intricacies and provides many proven solutions to solve everyday problems.

20 самых рекомендуемых книг для программистов на русском языке

Авторы проекта Dev-Books проанализировали миллионы вопросов и ответов в крупнейшем сообществе программистов Stack Overflow. Всё для того, чтобы найти книги, на которые чаще всего ссылаются разработчики.

В общий список вошло 5 720 книг. Ниже вы найдёте 20 самых упоминаемых из них, которые когда-либо выходили на русском.

По просьбе Лайфхакера своими мнениями насчёт некоторых изданий поделились отечественные эксперты.

1. «Эффективная работа с унаследованным кодом», Майкл К. Физерс


Автор объясняет, как быстро разбираться в унаследованном коде, как тестировать его, как правильно вносить изменения. Книга содержит множество эффективных приёмов, предназначенных специально для этих задач.

2. «Приёмы объектно-ориентированного проектирования. Паттерны проектирования», Эрих Гамма и другие

Классика для программиста. Первая книга, посвящённая именно шаблонам.

Леонид Выговский, системный архитектор IT-компании LiveTex

— Издание уже 20 лет переиздаётся в изначальном виде. В этом, конечно, главный недостаток книги: некоторые шаблоны уже неактуальны. Думаю, её полезно читать уже после других, более современных, книг по паттернам проектирования. Тем более что она написана сухим академическим языком. Для понимания паттернов эта книга не must read, но её прочтение добавляет крутости в глазах коллег-программистов. 🙂 Начинать я советую с «Паттернов проектирования» (Head First Design Patterns).

3. «Чистый код. Создание, анализ и рефакторинг», Роберт К. Мартин

Интересная, но во многом спорная книга о том, как писать понятный и поддерживаемый код.

Леонид Выговский, системный архитектор IT-компании LiveTex

— Почему спорная? Книг про написание кода уже огромное количество, и часть приёмов являются общепризнанными. Но каждый автор добавляет что-то своё. Лично для меня мнение Боба Мартина кажется иногда странным и противоречащим другим источникам. Не must read, но прочитать всё же стоит. Качество кода после прочтения становится лучше.

4. «Предметно-ориентированное проектирование», Эрик Эванс

Очень сильная книга, которая мотивирует к саморазвитию. После прочтения кажется, что без ПОП качественный код не написать.

Леонид Выговский, системный архитектор IT-компании LiveTex

— Из этой книги выросли концепции СQRS, BDD, onion-architecture и много других интересных идей. Единственный недостаток: книга насквозь теоретическая. Практическую пользу она приобрела только с выходом книги Вона Вернона «Реализация методов предметно-ориентированного проектирования» (Implementing Domain Driven Design). Поэтому читать их надо последовательно, сразу друг за другом.

5. «JavaScript: сильные стороны», Дуглас Крокфорд

Обязательная книга для веб-разработчиков. В ней Дуглас Крокфорд рассказывает о преимуществах языка JavaScript и учит грамотно их применять для создания эффективного кода.

6. «Шаблоны корпоративных приложений», Мартин Фаулер и другие

Книга описывает базовые принципы проектирования ПО для корпоративных платформ.

7. «Совершенный код. Мастер-класс», Стив Макконнелл

Классическая книга о том, как писать код лучше.

Михаил Осотов, директор по производству «Центра высоких технологий»

— Принципы, о которых рассказывается в книге, актуальны в любые времена, несмотря на то, что первое издание было выпущено аж в 1993 году. Волшебство этой книги заключается в том, что можно перечитывать её каждый год и каждый раз узнавать что-то новое.

8. «Рефакторинг. Улучшение существующего кода», Мартин Фаулер и другие

Из серии книг по написанию понятного и качественного кода, «Рефакторинг» — лучшая.

Леонид Выговский, системный архитектор IT-компании LiveTex

Выговский: «Она не только показывает хороший код, но и на примере плохого объясняет, чем именно он плох. Эта книга — must read для всех. Причём чем раньше вы её прочтёте, тем лучше. Качество кода после прочтения сильно вырастет».

Если книгу Фаулера вы уже прочли, обратите внимание на «Рефакторинг с использованием шаблонов» (Refactoring to Patterns) Джошуа Кериевски, которую рекомендует Михаил Осотов.

«Рефакторинг с использованием шаблонов» Кериевски — отличная книга для тех, кто каждый день сталкивается с проблемой легаси-кода и технического долга в своих проектах.

Михаил Осотов, директор по производству «Центра высоких технологий»

— Эта книга поможет сохранить свои нервы, подружиться с рефакторингом и сделать код лучше.

9. «Паттерны проектирования», Эрик Фримен, Элизабет Фримен и другие

Серия Head First, на мой взгляд, идеально подходит для новичков в области разработки ПО.

Михаил Осотов, директор по производству «Центра высоких технологий»

— Все книги написаны разными авторами, но в каждой виден общий подход, который выражается в простой подаче материала, интересных и простых примерах.

10. «Язык программирования C», Брайан У. Керниган, Деннис М. Ритчи

Классическое учебное пособие по языку C, написанное его же создателями. Однако начинающим эта книга может показаться сложной, поскольку требует от читателя знания основ программирования.

11. «Эффективное использование С++. 55 верных способов улучшить структуру и код ваших программ», Скотт Майерс

Книга содержит советы по проектированию программ, работе с шаблонами и управлению ресурсами, а также другие рекомендации по созданию качественного ПО на языке С++.

12. «Экстремальное программирование: разработка через тестирование», Кент Бек

Автор на примерах описывает методику разработки ПО, которая предполагает тестирование программ ещё до написания их кода.

13. «Алгоритмы. Построение и анализ», Томас Х. Кормен и другие

Эту книгу называют библией алгоритмов. Она зарекомендовала себя как отличное научное пособие для студентов технических вузов и всех, кто интересуется информатикой. Книга доступным языком знакомит с алгоритмами разных типов и описывает их особенности.

14. «Регулярные выражения», Джеффри Фридл

Издание об эффективной работе с текстом в Perl, PHP, Java, Python, Ruby и других языках программирования.


15. «CLR via C#. Программирование на платформе Microsoft.NET Framework 4.5 на языке C#», Джеффри Рихтер

Классический учебник по разработке приложений для платформы Microsoft, в том числе с помощью Silverlight, Windows Presentation Foundation, ASP.NET и прочих технологий компании.

16. «Современное проектирование на C++», Андрей Александреску

Книга для опытных программистов на C++. Автор предлагает новый подход к разработке, сочетающий метапрограммирование шаблонов, обобщённое программирование и объектно-ориентированное программирование на этом языке.

17. «Microsoft ASP.NET 2.0. Базовый курс», Дино Эспозито

Детальное руководство для опытных специалистов по ASP.NET 2.0. Книга учит создавать мощные, надёжные и масштабируемые сайты на этой платформе.

18. «Шаблоны тестирования xUnit. Рефакторинг кода тестов», Джерард Месарош

Автор книги показывает, как применять шаблоны проектирования, исключение повторений, инкапсуляцию и другие принципы разработки ПО к написанию кода тестов.

19. «Компиляторы. Принципы, технологии и инструментарий», Альфред В. Ахо и другие

Книга описывает базовые принципы разработки компиляторов и делает особый акцент на оптимизации кода. В помощь читателю — большое количество примеров из практики.

20. «Инфраструктура программных проектов. Соглашения, идиомы и шаблоны для многократно используемых библиотек .NET», Кржиштоф Цвалина, Брэд Абрамс

Издание содержит лучшие приёмы разработки библиотек для платформы Microsoft .NET Framework. Книга должна упростить работу любого .NET-специалиста, который пишет код для других разработчиков.

Полный рейтинг англоязычных книг доступен на сайте Dev-Books. Там же можно просмотреть списки самых популярных книг на определённые темы, будь то Java, Database Design или CSS.

Какие языки программирования учить в 2020-м? Актуальные тренды кодинга

Языков программирования очень много. Начинающие программисты всегда путаются в них и не могут точно определиться с выбором. В этой статье я хотел бы рассказать про популярные языки программирования, на которые точно стоит обратить внимание.

Сразу скажу, что не обязательно выбирать именно их для изучения. Возможно вам придется по вкусу что-то другое. Изучите всю доступную информацию и уже потом принимайте решение.

Чем языки программирования отличаются друг от друга

Каждый язык имеет свой синтаксис и область применения. Например, язык PHP отлично подойдет для веб-разработчиков. Многие платформы работают на PHP, включая WordPress – на котором сделан этот блог.

Еще есть Python – этот язык также используется в вебе, но вместе с этим у него есть и другие области применения. То же машинное обучение и технологии искусственного интеллекта.

Сейчас эта тема очень популярна и многие начинают изучать питон именно поэтому. Хотят потом зарабатывать сотни тысяч рублей, т. к. думают, что данный язык точно не «умрет» через каких-то пару лет. И, кстати, не безосновательно.

Также языки программирования могут отличаться сложностью. Какие-то выучить очень просто, на изучение других может уйти не один год. Зато у более сложного языка может быть больше возможностей. И программист, который пишет на таком языке будет зарабатывать больше.

Но это все слова. Заработок программиста зависит не столько от сложности языка, на котором он пишет, сколько от решаемых задач.

Самые популярные языки программирования

Я проанализировал несколько источников и собрал подборку из 10 популярных языков программирования. Это не рейтинг. У каждого своя область применения, сложность и преимущества.

Популярные языки программирования по версии StackOverFlow

Python

Python – популярный высокоуровневый язык программирования общего назначения. Его используют в веб-разработке, машинном обучении, создании приложений под различные платформы и т. д.

В рейтинге пользовательских симпатий StackOverFlow Python занимает одно из первых мест. И это не удивительно, ведь он имеет приятный синтаксис, хорошую читаемость и продуманную модульность. Очень многие новички выбирают Питон в качестве своего первого языка.

Подробнее про этот язык программирования можно почитать на википедии. Там все: от истории до конкретных примеров применения.

Java – еще один популярный язык, который может применяться в разных сферах. От других ЯП Java отличается мультиплатформенностью.

То есть, приложения, написанные на этом языке, могут использоваться и на Windows, и на Linux, и на любой другой операционной системе. В веб-разработке Java также используется.

Возможно это благодаря JVM – виртуальной машине, которая может транслировать байт-код в любой другой, «понятный» для конкретной платформы.

Подробнее об этом языке можно прочитать все там же – на википедии.

PHP – скриптовый язык программирования, который используется в веб-разработке. WordPress, Joomla и некоторые другие популярные CMS написаны на этом языке. Он имеет простой синтаксис и много разных расширений.

Мастер Йода рекомендует:  Как изменить цвет глаз с помощью Photoshop

PHP-программисты могут неплохо зарабатывать, потому что большая часть сайтов в интернете работает на этом языке. На рынке фриланса, соответственно, много заказов, которые связаны именно с PHP.

Подробнее об этом языке можно почитать в википедии.

JavaScript

JavaScript используется в веб-разработке для реализации различных фишек на веб-ресурсах. Именно с помощью этого языка работают различные анимации, красивости и т. д.

Данный язык не имеет ничего общего с Java. Он также может работать в объектно-ориентированном стиле, но, как я и сказал, чаще его используют в вебе.

В рейтинге StackOverFlow этот язык занимает первое место. Почитать о нем подробнее можно здесь.

Про C++ вы наверняка уже где-то слышали. Этот язык постоянно на слуху, поэтому не удивительно, что он есть в рейтинге популярных языков программирования.

C++ – это язык общего назначения, который применяется в самых разных направлениях. На нем пишут приложения, программы, игры и т. д. Даже драйверы и некоторые операционные системы написаны на этом языке.

Рассказывать о нем подробно я не буду, лучше почитайте огромную статью здесь. Там есть вся информация: до истории до примеров синтаксиса.


HTML/CSS

HTML и CSS – это НЕ языки программирования. HTML – язык разметки, CSS – стилей. С их помощью создается дизайн ресурса. В StackOverFlow эти языки размещены на 2-м и 3-м местах.

И некоторые люди ошибочно думают, что эти два языка используются для программирования чего-то. Но нет. Я размещаю их здесь, чтобы еще раз указать на это. Еще многие гуглят подборки популярных языков, надеясь увидеть в них именно html/css. Не будем лишать удовольствия таких людей.

C# (произносится как C Sharp) – объектно-ориентированный язык программирования, который используется в разработке под Microsoft .NET Framework. У него C-подобный синтаксис, хотя многие отмечают сходство с Java.

У этого языка много последователей, на рынке фриланса он тоже достаточно востребован. Для более подробного ознакомления с этим языком рекомендую заглянуть в эту статью.

Ruby – динамический высокоуровневый язык, который используется в разных областях. Одна из них – приложения для Linux и MacOS. Другая – веб-разработка.

В Ruby простой синтаксис, многие сравнивают его с Python и Perl. С последним у Ruby более заметные сходства.

Подробнее об этом языке можно узнать из статьи на Википедии.

Swift

Swift – язык программирования общего назначения от Apple. Именно на этом языке разрабатываются приложения для MacOS и iOS. В силу того, что продукция Apple обрела огромную популярность, Swift стал одним из самых популярных языков программирования.

Его включают в программу обучения в различных школах, ВУЗах и колледжах по всему миру. Некоторые думают, что это язык будущего, и что сейчас стоит озаботиться его изучением.

Верить ли этому – решайте сами. Я же просто оставлю ссылочку на подробную статью о Swift. Если вас заинтересовал этот язык – обязательно ознакомьтесь.

Где изучать эти языки

Их можно изучать на курсах по программированию (не только онлайн, но и офлайн), в школах, ВУЗах и т. д. Можно заняться самообразованием и искать информацию из открытых источников.

В интернете полно разных мануалов, видео и аудио по нужной тематике и на русском языке. Хотя, это касается не всех языков программирования.

В общем, ищущий всегда найдет :).

Заключение

Я надеюсь, что эта подборка вам понравилась. Как я и сказал, не обязательно изучать именно эти языки. Возможно вам придется по вкусу какой-нибудь Perl или Go. Я просто собрал небольшой топ популярных языков программирования, который может дать новичкам подсказку или направление.

Рекомендую также ознакомиться с подробными статьями, на которые я дал ссылки.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

10 наиболее популярных книг на StackOverflow

Самыми популярными на планете книгами являются, конечно же, Библия и Коран, число переизданий которых подсчитать невозможно. Но в наш рейтинг самых читаемых книг религиозную литературу мы включать не будем.

Вашему вниманию – ТОП-20 книжных бестселлеров: шедевры художественной литературы, ставшие самыми продаваемыми во всем мире.

Гарри Поттер

Год выхода: 1997-й.

Автор: Д. Роулинг.

Серия увлекательных сказок о юном волшебнике Гарри стала самой популярной в мире, причем не только среди детей.

Тиражи книг, переведенных на 67 языков, бьют рекорды на мировом книжном рынке: более 400 млн книг было куплено фанатами Хогвартса только за первые 11 лет после выхода книги.

Нашумевший цикл книг стал и основой для одноименных фильмов, после появления которых в полку фанатов Гарри Поттера значительно прибыло.

Вы еще не читали вашим детям про Гарри? Пора заполнить этот пробел!

Властелин колец

Год выхода: 1954-й.

Автор: Д. Толкиен.

Не менее популярная, чем о Гарри Поттере, серия книг (а точнее большая книга из 3-х частей) о сказочном кольце всевластия покорила немало людей (прим. – тираж уже превысил 500 млн экземпляров). Мир хоббитов и гномов, страшный Мордор и око Саурона, Фродо и Гендальф – пожалуй, практически нет людей, которые бы о них не слышали.

Снятые по мотивам книг фильмы стали приятным сюрпризом для поклонников Толкиена, хотя заменить книги писателя — пусть даже и качественной — экранизацией, конечно, невозможно.

Стоит отметить, что и первая книга Толкиена о хоббитах разошлась солидным тиражом – более 100 млн. Эту предысторию к основным книгам («Хоббит или туда и обратно») с удовольствием слушают и читают дети, которые еще не доросли до самой трилогии.

Одна из культовых книг 20-го века однозначно заслуживает свое почетное 2-е место.

Маленький принц

Год выхода: 1943-й.

Автор: Антуан де Сент-Экзюпери.

Как сказать о самом сложном доступно и просто? Экзюпери знал – как, отвечая на самые актуальные вопросы в своей книге, мгновенно завоевавшей популярность сразу после первой публикации.

Помимо самой потрясающей сказки, автор подарил миру и свои иллюстрации, которые в различных интерпретациях, но все-таки присутствуют в самых разных изданиях книги, — кстати, переведенной на 100 языков и проданной тиражом более 200 млн копий.

Код да Винчи


Год выхода: 2003-й.

Всего через несколько лет после выхода этого романа тираж «перевалил» за 81 млн копий. Книга-бестселлер, переведенная на 44 языка, и успешно экранизированная. Ни одна другая книга, написанная в том же жанре триллера с интеллектуальным уклоном, не приобрела после подобной популярности.

Автору удалось мастерски дернуть за невидимые читательские струны души: даже спустя 14 лет книгу покупают весьма активно и не менее активно спорят об идеях, в ней выдвинутых.

В немалой степени, рекламой книге послужило выступление архиепископа Анджело, открыто осудившего сей литературный шедевр.

Алхимик

Год выхода: 1988-й.

Роман, понятный любому поколению, и необходимый каждому. Книга, которая станет идеальным трамплином в новый мир саморазвития. Лекарство от депрессии и ветер в спину для каждого, кому не хватает смелости двигаться вперед.

Один из самых продаваемых романов, тираж которого давно превысил миллионы. Сказка-притча о стремлении к своей мечте, издающаяся в 117-ти странах и написанная доступным языком.

Зеленая миля

Год выхода: 1996-й.

Автор: Стивен Кинг.

Нашумевший роман Кинга по популярности обошел многие литературные бестселлеры. Рассказ о тюремном блоке для смертников, который ведет бывший, уже постаревший надзиратель Пол, многих читателей довел до слез.

Книга была экранизирована в 1999-м году, и фильм с Томом Хэнксом в главной роли по сей день занимает лидирующие позиции в рейтинге лучших.

Роман со 100% эффектом присутствия.

Унесенные ветром

Год выхода: 1936-й.

Автор: Маргарет Митчелл.

Экранизированный роман, название которого знакомо читателям практически любой страны. Удивительная книга о любви (а также о дружбе, преданности, предательстве…), случившейся на фоне гражданской войны в США.

Всемирная любовь читателей и 8 Оскаров за экранизацию, более 50000 копий, проданных в первый же день выхода романа, 31 переиздание и более 40 млн экземпляров (впрочем, это число постоянно растет).

Если вы еще не успели насладиться этим литературным шедевром, не откажите себе в удовольствии – время не пройдет зря.

Мастер и Маргарита

Год выхода: 1940-й.

Автор: Михаил Булгаков.

Этот фантастический роман долгое время не могли экранизировать. «Будто темные силы мешали», — как рассказывали потом участники несостоявшихся экранизаций. До момента, пока за дело не взялся Бортко.

Роман, который совершенно не нуждается в рекламе, и который покорил весь мир.

История любви, наглядное пособие о человеческих пороках, философский роман – каждый сам для себя решает, чем станет для него эта книга.

Три товарища

Год выхода: 1936-й.

Автор: Э. М. Ремарк.

Их трое. Три друга, которые объединены общим фронтовым прошлым. Товарищи, которых бросили в пасть мировым войнам, как и другую молодежь.

Но, вопреки призракам прошлого и послевоенному кризису, нужно искать свой путь и бороться за то, что дорого.

Роман, экранизированный в 1938-м году.

Портрет Дориана Грея

Год выхода: 1890-й.

Автор: Оскар Уайльд.

Скандальная и успешная книга от автора, ставшего популярным на все времена. Настоящий шедевр английской литературы о герое, который истово желал вечной жизни.

Роман был дважды экранизирован, в 1945-м и в 2009-м году, но при всей красоте кинокартин сравниться с книгой они, конечно, не смогли.

Дневник Анны Франк

Год выхода: 1960-й.

Автор: Анна Франк.

Одна из самых известных в мире книг, написанных о Холокосте. Книга впервые вышла в Голландии, где еврейская девочка 2 года писала мемуары во времена немецкой оккупации.

Сегодня эта книга, переведенная на 17-ть языков и разошедшаяся по миру миллионами экземпляров, считается одной из самых популярных в мире.

Вы не найдете здесь литературной гладкости маститого писателя – это просто дневник, написанный рукой обыкновенной 13-летней девочки, детство которой кончилось очень быстро.


Над пропастью во ржи

Год выхода: 1951-й.

Автор: Д. Д. Сэлинджер.

Мальчишке Холдену – всего 16, он — классический «балбес» и мечтатель с большим сердцем.

История, для которой не существует границ времени – как отражение десятков тысяч жизней юных девочек и мальчиков, свободных от рамок, еще способных мечтать и не замечающих близкого края пропасти.

Одиночество в Сети

Год выхода: 2001-й.

Автор: Я. Л. Вишневский.

Современный роман на злободневную тему человеческого одиночества в век интернета.

Можно ли испытать стол же яркие эмоции от влюбленности в Сети, как в реальности? Насколько обманчивы эти чувства? И что будет потом, когда вы решите встретиться в настоящей жизни?

Книга, ставшая бестселлером, и которую пока не смог превзойти по популярности ни один роман с похожей тематикой.

Гордость и предубеждение

Год выхода: 1813-й.

Автор: Джейн Остен.

Настоящая классика, неподвластная времени.

Всемирно известное произведение о сильной женщине, абсолютно свободной от предрассудков, шаблонности и даже своей бедности. Элитная проза, ставшая не только классикой любовной литературы, но и целой прожитой жизнью для читателей – атмосферной, чувственной и актуальной на все времена.

Понедельник начинается в субботу

Год выхода: 1964-й.

Автор: братья Стругацкие.

Книга, заслуженно считающаяся вершиной творчества авторов.

Психологическая фантастика, от которой сразу приходят в восторг даже те читатели, что еще не успели познакомиться с творчеством Стругацких.

Великий Гэтсби

Год выхода: 1925-й.

Автор: Ф. С. Фицджеральд.

Иногда все-таки лучше (и спокойнее), если мечты остаются нереализованными…

Книга о любви и мечте, о временах сухого закона и послевоенного стремительного обогащения, модного джаза и капитала, сколачиваемого не самым честным путем.

Успешно экранизированный роман, в котором автор проникновенно и чутко описал свою собственную любовь.

Год выхода: 1949-й.

Автор: Джордж Оруэлл.

Тяжелый, но сверх-популярный гротескный роман о трех державах, постоянно воюющих (традиционно) за территории.

Книга, насквозь пропитанная ненавистью и страхами, связанными с тоталитаризмом. Контроль над людьми, над их мыслями и чувствами, над желаниями, контроль разума и отрицание любых эмоций и проявлений свобод. Тотальная несвобода, ужаснее которой, по мнению автора, нет ничего…

Эту книгу нельзя читать на бегу – для нее нужно время на осмысление и понимание.

Лолита

Год выхода: 1955-й.

Автор: Владимир Набоков.

Именно с этой скандальной книги и пришла слава к автору.

Мало кто знает, но описанные в романе события действительно имели место в далеком 1948-м году, в США.

Несмотря на противоречие, в которое вступает «омерзительность сюжета» и эстетизм всего романа, он до сих пор притягивает и притягивает к себе читателей.

Алиса в стране чудес

Год выхода: 1865-й.

Кто бы мог подумать, что это произведение было создано автором так давно — в 1865-м году.

Книга, которая уже полторы сотни лет занимает верхние строчки хит-парадов популярности, разошлась (и продолжает!) по миру миллионными тиражами.

«Классика постмодернизма» — именно так «Алису» охарактеризовали в списке лучших фантастических книг.


Сон в красном тереме

Год выхода: 1791-й.

Автор: Цао Сюэцинь.

Захватывающий роман китайского, всемирно известного автора о 3-х поколениях аристократической семьи Цзя.

Книга с четкой сюжетной линией, с элементами автобиографии автора, сверхъестественными происшествиями, интригами и любовными линиями.

Истинный литературный шедевр, разошедшийся по миру тиражом более 100 млн экземпляров.

ТОП 10 самых популярных языков программирования в мире

В современном мире все связанно с компьютерами, умной техникой и машинами, но не все задумываются, а как же оно все работает? У каждой техники есть своя программа, свои цели и задания, и все это делают люди. Сегодняшний рейтинг посвящен именно такой теме, как же все это работает и с помощью чего? Итак, какой же самый популярный язык программирования в мире?

10 местo: Objective-C

Уже каждый человек знаком с техникой компании Apple, многие остановили свой выбор именно на этой фирме, с хорошей репутацией и отличной пиар-компанией. Но если вы решили заглянуть немного дальше и самим попробовать написать приложение для iOS, то Objective-C именно то, что вам необходимо. Хотя, сейчас все переходят на Swift, который не так, популярен из-за того, что очень молод, но он создан компанией Apple, более удобен и динамичен, и вскоре, и уже все новые приложения и игры делаются именно на нем. Поэтому, скорее всего, в 2020 году начинать изучать Objective-C — не имеет смысла.

9 место: Ruby

Еще один из самых популярных языков программирования, которым пользуется огромное количество людей, и не спроста. Он будет просто незаменим, если вы решили запустить новое веб-приложение или у вас появилась новая идея и вы хотите ее реализовать. Ruby к вашим услугам. Несмотря на свою огромную мощность, этот язык довольно прост и понятен. Также, большим его преимуществом является то, что многие популярные приложения по всему миру, написаны именно на нем.

8 место: SQL

Применяется он для управления и модификации данных в произвольной реляционной базе данных, регулируемой соответствующей системой управления базами данных. С помощью этого языка программирования, вы легко сможете найти нужную вам информацию и самое главное сделать это надежным методом.

7 место: C

Несмотря на то, что язык C появился в 1972 году, он остается актуальным и по ныне. Именно он оказался в основе разработке таких языков программирования как C++, C#, Java, D. Его основными преимуществами стали: компактность, быстрота и мощность. Применяется для создания системного и прикладного программного обеспечения.

Мастер Йода рекомендует:  Ещё о защите e-mail адресов на веб-страницах PHP

6 место: Python

Это высокоуровневый язык программирования для общего применения. Он может выполнить практически любое ваше пожелание, то ли это будет анализ и проверка данных, то ли приложения, или любая статистика, со всем этим поможет Python. Сравнительно недавно, программисты пришли к согласию, что его можно использовать для обработки очень больших объемов данных и большим преимуществом является то, что он подходит для самых разных отраслей.

5 месте: C++

Появился он в 1983 году, так же как и C предназначен для общего пользования. Его можно использовать в таких областях как: создание операционных систем, для функций аппаратного ускорения, мобильных устройств, а также для игр. Если вам для работы необходимо большой объем памяти, то вы смело можете воспользоваться услугами языка C++.

4 место: PHP

Если вы решили создать веб-приложение, то скорее всего, вам понадобиться именно PHP (Hypertext Preprocessor). Один из лидеров для создания динамических веб-сайтов. В настоящее время на PHP создано большое количество сайтов, которые ориентируются на большой объем данных. Он так же является в основе систем управления контентом, таких как WordPress, Joomla, Bitrix, Prestashop и др.

3 место: C#

Был разработан в 2001 году в компании Microsoft в качестве языка разработки приложений для Microsoft .NET Framework. Это один из основных языков для разработки движка игр Unity.

2 место: JavaScript

Сравнительно молодой язык программирования, появился в 1995 году. Без него не обойдется не один создатель веб-страницы, применяется в браузерах как язык сценариев для создания интерактивности сайта. Самым большим преимуществом языка является то, что он легкоизучаемый и даже, если вы не программист, то немного потерпев вполне сможете в нем разобраться, хотя бы на начальных этапах. У него есть специфическое отличие от остальных языков, им не владеет ни одна компания, он так сказать в свободном плавании.

1 место: Java

На 1 месте язык Java. Это самый популярный язык программирования. Именно он сегодня является лидером у программистов для бэкэнд-разработки современных веб-приложений. Если вы собрались создать масштабируемое мобильное приложение для Android, будь то смартфон или планшет, то нет ничего лучше, чем Java. Он обладает такими возможностями как: автоматическое управление памятью, большой набор средств фильтрации ввода-вывода, простые средства создания сетевых приложений и многое другое. Также язык может работать на любой Java-машине, не завися от компьютерной архитектуры.

Если хотите попробовать себя в Java, то лучшим сервисом для старта станет JavaRush. Тут, в форме квеста и игры можно освоить язык на базовом уровне, а потом, при желании, продолжить обучения до уровня, который поможет устроиться на работу. Материал подается очень легко, есть сотни практических заданий и интересная подача в виде RPG игры с прокачкой уровня и способностей.

Кстати, есть компании, которые собирают эти данные и выкладывают отчеты. Вот, например, рейтинг самых популярных языков программирования от RedMonk за 2015 год, который основан на анализе результатов активности как на GitHub, так и на StackOverflow:

И подобный анализ проводила компания GitHut, у которых на первом месте оказался javascript:

Таким образом, как видите, наиболее популярными языками программирования считаются java и javascript. Они делят первое место. А какими языками программирования владеете вы? Или может быть только собираетесь изучить? Напишите пожалуйста в комментариях.

Кстати, в одной из наших статей мы собрали ТОП 5 игр, обучающих детей программированию. Очень занятное и полезной развлечение для деток может получиться, если вы уделите им пол часика)

10 наиболее популярных книг на StackOverflow

Короткие байты: DevBooks проанализировала данные вопросов и ответов StackOverflow и перечислила самые популярные книги по программированию, рекомендуемые на платформе. На сайте также создан поиск по тегам для удобства пользователей. Согласно результатам, 3 самых популярных книги по программированию в StackOverflow эффективно работают с устаревшим кодом, шаблонами проектирования и чистым кодом.

StackOverflow был создан в 2008 году. За прошедшие годы веб-сайт стал одним из самых популярных ресурсов для программистов, желающих решить общую проблему. Очень часто во время дискуссий рекомендуются многие книги по программированию.

Приятные ребята из DevBooks собрали вместе самые рекомендуемые книги на сайте. На тот случай, если вам интересно, как выполнялась эта гигантская задача, DevBooks сначала получил дамп базы всего контента, размещенного пользователями на сайте. После извлечения вопросов и ответов StackOverflow все ссылки на Amazon.com были учтены.

Сайт также отсортировал книги по подтемам для вашего удобства.Что ж, без дальнейших задержек, давайте расскажем о лучших книгах по программированию в StackOverflow:

10 самых популярных книг по программированию на StackOverflow

1. Эффективная работа с устаревшим кодом

Эта книга, написанная Майклом Фезерсом (Michael C. Feathers), посвящена гибкому программному обеспечению, которое поможет вам извлечь максимальную пользу из устаревших систем. В этой книге Майкл описывает различные стратегии от начала до конца для работы с кучами непроверенного унаследованного кода.

Получи это здесь.

2. Шаблоны проектирования


Эта книга, написанная Ральфом Джонсоном, Эрихом Гаммой, Джоном Влиссидесом и Ричардом Хелмом, рассказывает о драгоценном рассказе о разработке объектно-ориентированного программного обеспечения. Авторы описывают множество шаблонов проектирования и рассказывают, как проектировать объектно-ориентированное программное обеспечение.

Получи это здесь.

3. Чистый код

Чистый код Роберта С. Мартина находится под номером 3 в списке самых популярных книг по программированию StackOverflow. Он описывает практический метод написания лучшего кода и создания надежных приложений.

Получи это здесь.

4. Параллелизм Java на практике

В этой превосходной книге Брайана Гетца и Тима Пайерлса рассказывается, как создавать параллельные приложения с использованием языка программирования Java. Учитывая популярность Java, это очень популярная книга по программированию StackOverflow.

Получи это здесь.

5. Домен-управляемый дизайн

Написанный Эриком Эвансом, Domain-Driven Design влечет за собой методы включения моделирования предметной области в разработку программного обеспечения.

Получи это здесь.

6. JavaScript: хорошие части

У JavaScript больше, чем у плохих частей, так как он был выпущен на скорую руку перед доработкой. JavaScript: «Хорошие части» Дугласа Крокфорда — авторитетная книга на эту тему, которая поможет вам открыть для себя красоту этого выразительного языка.

Получи это здесь.

7. Шаблоны корпоративной архитектуры приложений

Написанный Мартином Фаулером, Patterns of Enterprise Application Architecture — руководство для разработчиков корпоративных систем. Это помогает им ориентироваться в различных тонкостях и предоставляет множество проверенных решений для решения повседневных проблем.

Получи это здесь.

8. Код завершен

Code Complete от Стива Макконнела рассказывает об искусстве и науке создания программного обеспечения. Эта классическая книга считается одним из лучших практических руководств по кодированию.

Получи это здесь.

9. Рефакторинг: улучшение дизайна существующего кода

Это скрытое сокровище по рефакторингу написано Мартином Фаулером и Кентом Беком. Программисты могут прочитать эту книгу, чтобы улучшить дизайн, производительность и управляемость объектно-ориентированного кода.

Получи это здесь.

10. Head First Design Patterns

Написанные Эриком Фриманом, Элизабет Фриман, Кэти Сьеррой и Берт Бейтсом, Head First Design Patterns помогает в разработке программного обеспечения на языке программирования Java, предоставляя шаблоны проектирования.

Получи это здесь.

Для других самых популярных книг о StackOverflow, вы можете посетить DevBooks.com

Считаете ли вы эту статью полезной? Не забудьте поделиться своими взглядами и отзывами.

Какую литературу читать новичку по C#?

Книги для новичков: а о чём это вообще?

• Head First C#, Jennifer Greene, Andrew Stellman (русский перевод: Изучаем C#, Д. Грин, Э. Стиллмен). Содержит упражнения. Рекомендуется многими как хорошая книга для новичков.
• Язык программирования C# 5.0 и платформа .NET 4.5 — Эндрю Троелсен. Популярная книга, многие начинали с неё.
• C# 4.0: полное руководство, Герберт Шилдт. Несмотря на неоднозначное отношение к автору, книга пользуется популярностью.
• C# 2010. Ускоренный курс для профессионалов, Нэш Трей
Книги среднего уровня: если hello world не проблема
• CLR via C#. Программирование на платформе Microsoft .NET Framework 4.5 на языке C#, Джеффри Рихтер. Неувядающая классика. Хотите знать, что и как происходит на самом деле? Это книжка для вас. Не самое живое изложение, зато максимум подробностей из первых рук.
• C# 6.0 in a Nutshell, Joseph Albahari, Ben Albahari (русский перевод предыдущей версии:C# 5.0. Справочник. Полное описание языка, Джозеф Албахари, Бен Албахари). Отличная книга, затрагивает многие аспекты, расставляет по местам ваши знания о предмете. Сводит разрозненные отрывочные знания в общую понятную картину, объясняет, какими средствами нужно пользоваться, а для чего есть уже более хорошие подходы. Есть online-глава о многопоточности (русский частичный перевод), почитайте!
• Essential C# 5.0, Mark Michaelis в сооавторстве с Эриком Липпертом. Хорошая книга для программистов, желающих овладеть C#. Знания других языков, перед чтением, приветствуются. От Эрика Липперта в книге представлены продвинутые советы, которые встречаются на протяжении всей книги.
• Effective C# и More Effective C#, Bill Wagner. О том, как надо и как не надо программировать на C#. Разбираются отдельные аспекты программирования, способствует углублению понимания языка.
• Programming C# 5.0: Building Windows 8, Web, and Desktop Applications for the .NET 4.5 Framework, Ian Griffiths. (Русского перевода пока нет.) Очень детальная, подробная книга, в которой найдутся ответы на продвинутые вопросы.

Книги для специалистов: внутренние механизмы и пыльные углы

• C# in Depth, Jon Skeet, Third Edition (русский перевод: C#. Программирование для профессионалов, Джон Скит, пока переведено лишь второе издание). Имя автораговорит само за себя. Джон один из лучших людей, которые умеют доходчиво объяснять сложные вещи.
• C# 5 Unleashed, Барт де Смет. Фундаментальная книга.
• Debugging Microsoft .NET 2.0 Applications, John Robbins (русский перевод: Отладка приложений для Microsoft .NET, Джон Роббинс). Основы промышленной отладки: WinDbg/SOS, дампы памяти и решение проблем в приложениях (почти) без Visual Studio.
• Under the Hood of .NET Memory Management, Chris Farrell, Nick Harrison. Полное описание всех тонкостей управления памятью в платформе .NET. Книга доступнабесплатно на английском.
• Expert .NET 2.0 IL Assembler, Serge Lidin. В книге представлены ответы почти на все тонкости низкоуровневого программирования на .NET, а именно на языке IL. В книге описаны детали .NET Framework 2.0, по этому на данный момент какие то аспекты могут быть не актуальны.
• Оптимизация приложений на платформе .NET с использованием языка C#, Саша Голдштейн, Дима Зурбалев, Идо Флатов (Переводчик: Александр Киселев). В книге рассматривается моменты .NET с точки зрения производительности. Рассказывается об способах замеров и шаблонах оптимизации. Также там рассматриваются вопросы, связанные с GC и небезопасным кодом.

• Официальная спецификация C# 5
• Framework Design Guidelines. Руководства и соглашения по проектированию многократно используемого кода. Является выдержкой из одноимённой книги, Krzysztof Cwalina, Brad Abrams. Книга переведена на русский под названием Инфраструктура программных проектов, Кржиштоф Цвалина, Брэд Абрамс.

Литература по асинхронному программированию и многопоточности

• Concurrent Programming on Windows, Joe Duffy. Профессиональное использование многопоточности в инфраструктуре .NET от одного из лучших мировых специалистов по многопоточности. В книги описаны тонкости использования как stream’oв так и thread’ов. Раскрыто, как и когда использовать Concurrent-, Parallel- и Asynchronous-модели. Примеры в книге присутствуют от достаточно низкоуровневых (с использованием системных потоков через WinAPI) до высокоуровневых Task’ов и PLINQ. Книга написана под .NET Framework 4.0, поэтому работа с ключевыми словами async/await в книгу не вошла.
• Concurrency in C# Cookbook, Stephen Cleary. (Русского перевода пока нет.) Очень толковое разъяснение современных паттернов использования многопоточности, особое внимание уделено использованию конструкции async/await. Обсуждается решение типичных проблем, решаемых асинхронным кодом. Отдельно описывается работа с Reactive Extensions и TPL Dataflow.

Литература по WPF
• Pro WPF 4.5 in C#: Windows Presentation Foundation in .NET 4.5, Matthew MacDonald (русский перевод: WPF: Windows Presentation Foundation в .NET 4.5 с примерами на C# 5.0 для профессионалов, Мэтью Макдональд). Разбор XAML’а, лаконичные, но полезные примеры. Пристальное, но не навязчивое внимание к деталям.
• Windows Presentation Foundation Unleashed, Adam Nathan. Наверное, лучшая книга для новичка.
• Applications = Code + Markup: A Guide to the Microsoft Windows Presentation Foundation, Чарльз Петцольд. Фундаментальная книга великолепного специалиста. Написана довольно тяжело, много листингов, плотный поток информации

Литература по ASP.NET
• Pro ASP.NET MVC 5, Adam Freeman (русский перевод: ASP.NET MVC 5 с примерами на C# 5.0 для профессионалов, Адам Фримен). Поэтапное написание веб-приложения с рассмотрением большинства важных аспектов разработки приложения: паттерн MVC, юнит-тестирование, инверсия зависимостей и т. п.
• Pro ASP.NET 4.5 in C#, Adam Freeman (русский перевод: ASP.NET 4.5 с примерами на C# 5.0 для профессионалов, Адам Фримен).
• Professional ASP.NET MVC 5, Jon Galloway, Phil Haack, Brad Wilson, K. Scott Allen
• Programming ASP.NET MVC 4: Developing Real-World Web Applications with ASP.NET MVC, Jess Chadwick, Todd Snyder, Hrusikesh Panda (русский перевод: ASP.NET MVC 4. Разработка реальных веб-приложений с помощью ASP.NET MVC, Джесс Чедвик, Хришикеш Панда, Тодд Снайдер).
• ASP.NET MVC Framework, Гайдар Магдануров, Владимир Юнев
• Pro ASP.NET MVC 2 Framework, Steven Sanderson (русский перевод: ASP.NET MVC Framework с примерами на C# для профессионалов, Стивен Сандерсон)
Дополнительные ресурсы:
• Get Started with ASP.NET от Microsoft
• Видеокурсы на intuit.ru: Разработка веб-приложений на ASP.NET, Разработка веб-приложений с использованием ASP.NET MVC Framework.

Литература по LINQ
• Pro LINQ: Language Integrated Query in C# 2010, Joseph Rattz, Adam Freeman (русский перевод: LINQ. Язык интегрированных запросов в C# 2010 для профессионалов, Адам Фримен, Джозеф С. Раттц). Учебно-справочное пособие, в котором понятно и подробно описаны возможности языка LINQ. Хороша для старта.
• LINQ Pocket Reference, Joseph Albahari, Ben Albahari (русский перевод: LINQ. Карманный справочник, Джозеф Албахари, Бен Албахари). Хороший справочник по всему, что относится к LINQ. Рассмотрены новые конструкции C# для поддержки LINQ. Много примеров.
• C# in Depth, Jon Skeet (русский перевод: C#. Программирование для профессионалов, Джон Скит). Немалая часть книги посвящена тому, как работает LINQ.

Литература по принципам, шаблонам и методикам разработки
• Внедрение зависимостей в .NET, Марк Симан. Несложно написанная книга про управление зависимостями в приложениях.
• Принципы, паттерны и методики гибкой разработки на языке C#, Роберт С. Мартин, Мика Мартин

Литература по Windows Workflow Foundation
• Essential Windows Workflow Foundation, Dharma Shukla, Bob Schmidt (русский перевод:Основы Windows Workflow Foundation, Дхарма Шукла, Боб Шмидт). Для тех, кого заинтересовала 26 глава («Введение в Windows Workflow Foundation») из книги Эндрю Троелсена Язык программирования C# 5.0 и платформа .NET 4.5.
• Pro WF 4.5, Bayer White (русской версии нет). Более углубленный взгляд на WF.

Литература по XML
• XML.NET, Джо Грей, Динар Дальви, Бипин Джоши, Фредрик Нормен, Фрэнсис Нортон, Энди Ольсен, Дж. Майкл Палермо IV, Даршан Сингх, Джон Слэйтер, Кевин Уильямс (Переводчик: И. Штерев). В книги содержится всё про применение XML в .NET за исключением LINQ. Старовата уже, но зато там есть объяснение, как внедрить свои функции на C# в XSLT.

Литература по ADO.NET
• Основы ADO.NET, Боб Бошемин (Переводчики: О.А. Лещинский, А.В. Журавлев, Н.Н. Селина)

Литература по .NET Remoting / WCF
• Microsoft .NET Remoting, Скотт Маклин, Джеймс Нафтел, Ким Уильямс
• Создание служб WCF, Джувел Леве (Переводчики: Е. Матвеев, А. Пасечник)

Добавить комментарий