Как стать автором
Поиск
Написать публикацию
Обновить
0
@VyusFireread⁠-⁠only

Пользователь

Отправить сообщение

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

Время на прочтение9 мин
Количество просмотров43K
Good news everyone!
Futurama


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

Эволюция работает не только в животном мире, но и в любой подходящей среде. Впервые эта идея получила широкое распространение с выходом книги Ричарда Докинза «Эгоистичный ген» в 1976 году. В ней был введен знакомый каждому термин «мем», как пример эволюции в социальной и культурной среде. Языки программирования тоже эволюционируют. А значит их развитие подчиняется принципам эволюции, на основании которых можно сделать предположение о будущем их развитии.

image
Читать дальше →

Каково это — быть разработчиком в России, когда тебе сорок

Время на прочтение37 мин
Количество просмотров162K
Привет всем, я — сорокалетний программист-самоучка, а это моя история.

Пару недель назад я наткнулся на график распределения людей, интересующихся технологиями, ИТ и программированием. И он заставил меня задуматься о моей карьере.



Через каких-то 20 лет мне стукнет 60. И вероятность того, что я еще смогу заниматься тем, для чего был создан, составляет очень крошечную величину. Эти размышления привели меня туда, откуда все начиналось.

Я дебютировал в роли разработчика программного обеспечения в 1990 году, через год после того, как мне на 14-тилетие родители подарили ПЭВМ «Микроша».
Читать дальше →

«Веб — это самая сложная платформа в истории человечества» — интервью с Вадимом Макеевым из Opera

Время на прочтение32 мин
Количество просмотров26K


В этом выпуске «Без слайдов» гостем выступил Вадим Макеев aka pepelsbey, евангелист компании Opera Software, один из самых известных фронтенд-людей в стране, организатор многих мероприятий в индустрии.

Мы успели обсудить:
  • эволюцию WebKit;
  • путь Microsoft и новую модель браузера;
  • архитектуру современных браузеров;
  • как Opera выбирала между WebKit и Blink;
  • стандартизацию в вебе;
  • насколько трудна работа веб-разработчика;
  • JavaScript и его «продолжения»;
  • jQuery, и почему он все еще нужен;
  • HTTP/2;
  • ритм жизни евангелиста;
  • мобильный веб и Opera Mini;


Интервью взято в феврале, но руки дошли до публикации только сейчас.

Видео-версия нашей беседы вот тут:


А для тех, кто предпочитает читать, — под катом расшифровка нашей беседы.

Читать дальше →

История языков программирования: Perl — необычный язык, созданный лингвистом для программистов

Время на прочтение12 мин
Количество просмотров37K


Язык программирования Perl создал Ларри Уолл (Larry Wall) в 1987 году, когда он работал системным программистом в американской компании Unisys. Цели, которые преследовал Ларри при разработке нового языка программирования, отражены в его названии — PERL, которое позднее стало расшифровываться как Practical Extraction and Report Language, то есть «практический язык извлечения „данных“ и „создания“ отчетов».

Одна из легенд о происхождении Perl гласит, что в то время уже существовал язык с таким названием, поэтому Ларри сократил название на одну букву, не изменив произношения. По иронии судьбы, сегодня тот язык не помнит никто, кроме историков, а Perl известен всему миру.

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


Ларри Уолл

На становление Perl повлияли языки Ada, Basic, Fortran, Lisp, Pascal и, конечно, язык C. Perl впитал в себя разные течения компьютерной науки: процедурное, модульное, функциональное и объектно-ориентированное программирование, макрообработку текста, а кроме этого — культуру ОС Unix, с ее богатым набором команд и утилит, стройной продуманной архитектурой и унифицированным подходом к представлению данных.
Читать дальше →

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №209 (25 апреля — 1 мая 2016)

Время на прочтение8 мин
Количество просмотров41K
Предлагаем вашему вниманию подборку с ссылками на полезные ресурсы, интересные материалы и IT-новости


Читать дальше →

Фейковая Новелла: маленькая игра, разработка которой многому меня научила и очередной бан от Google

Время на прочтение19 мин
Количество просмотров90K
Многим знакомо чувство, когда чувствуется энергия от той самой идеи, что позволит свернуть горы и разработать законченное приложение, а не пополнить кладбище недоделок. Я по доброму завидую тем людям, что умеют трезво рассчитывать свои силы, а не увязать в трясине под гнётом рутины. У меня хватало сил, чтобы не дать начать себе что-то новое… Но конечно, разработка больших и длинных хобби проектов «потому, что бросить» жалко тянет соки, а не приносит радость. Эта публикация о том, как я намеренно дал слабину, чтобы поднять себе настроение, разработав простую игру за три дня. И сделал её за неделю, потратив десять маффинов, но получив кучу опыта и хорошего настроения.
Прочитать о семи днях ненормальной разработки

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №199 (15 — 21 февраля 2016)

Время на прочтение8 мин
Количество просмотров36K
Предлагаем вашему вниманию подборку с ссылками на полезные ресурсы, интересные материалы и IT-новости


Читать дальше →

Все способы вертикального выравнивания в CSS

Время на прочтение6 мин
Количество просмотров835K
image

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

Да, для вертикального выравнивания в CSS есть специальное свойство vertical-align с множеством значений. Однако на практике оно работает совсем не так, как ожидается. Давайте попробуем в этом разобраться.

Читать дальше →

Мурат Уртембаев — первый советский хакер

Время на прочтение2 мин
Количество просмотров59K
Первым советским хакером был выпускник МГУ Мурат Уртембаев. В 1983 г. он хакнул систему ПО АвтоВАЗ, в результате чего работа конвейера остановилась на три дня. И это одна из первых «кибер-атак» в СССР, которую обнаружили.

Молодому специалисту пророчили блестящие перспективы в математике, но он не пошел в науку и по распределению попал на АвтоВАЗ. В Управлении автоматической системой для подачи механических узлов на конвейер работали программисты, занимающиеся ПО и рядовые техники, которые обслуживали систему и не имели отношения к программному обеспечению.



Читать дальше →

Почему я больше не использую MVC-фреймворки

Время на прочтение16 мин
Количество просмотров133K


Уважаемые хабравчане.

Поскольку дискуссия вокруг статьи идет весьма активно, Жан-Жак Дюбре (он читает комментарии) решил организовать чаты в gitter.

Вы можете пообщаться с ним лично в следующих чатах:
https://gitter.im/jdubray/sam
https://gitter.im/jdubray/sam-examples
https://gitter.im/jdubray/sam-architecture

Также автор статьи разместил примеры кода здесь: https://bitbucket.org/snippets/jdubray/

По поводу кода он оставил следующий комментарий:
I don't code for a living, so I am not the best developer, but people can get a sense of how the pattern works and that you can do the exact same thing as React + Redux + Relay with plain JavaScript functions, no need for all these bloated library (and of course you don't need GraphQL).
Читать дальше →

Что такое «асинхронная событийная модель», и почему сейчас она «в моде»

Время на прочтение15 мин
Количество просмотров54K
Сейчас в тематических интернетах модно слово «Node.js». В этой небольшой статье мы попробуем понять («на пальцах»), откуда всё это взялось, и чем такая архитектура отличается от привычной нам архитектуры с «синхронным» и «блокирующим» вводом/выводом в коде приложения (обычный сайт на PHP + MySQL), запущенного на сервере приложений, работающем по схеме «по потоку (или процессу) на запрос» (классический Apache Web Server).
Читать дальше →

Calque — калькулятор, который удобнее, чем консоль браузера

Время на прочтение1 мин
Количество просмотров54K
Приветствую.

Существует приложение для iOS — Tydlig, которое буквально переосмысливает калькулятор, и делает его потрясающе удобным. Попользовавшись один раз этим приложением, остаешься его любителем.

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

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

Поиск чего-то похожего на Tydlig ничего не дал, и было принято решение писать свое приложение.

Что из этой затеи получилось:


Читать дальше →

Но зачем? Интервью с автором рисунка про троллейбус из буханки хлеба

Время на прочтение6 мин
Количество просмотров54K
«Вот так, с помощью нехитрых приспособлений буханку белого (или черного) хлеба можно превратить в троллейбус… Но зачем?» Вряд ли кто-то из завсегдатаев Хабрахабра и Гиктаймс ни разу не видел этой забавной картинки — она часто появляется в комментариях к статьям о самоделках, изобретениях «британских учёных» и вообще любых проектах, которые появились на свет не потому что были кому-то нужны, а потому что были кому-то интересны.

Сегодня у нас в гостях автор этой и многих других не менее интересных картинок — Борис Могилин, более известный в сети под ником Borya_Spec. Борис — не профессиональный художник, и не собирается им становиться. Его манера рисования родом из детства, из советских комиксов про Мурзилку. Его рисунки нравятся не только взрослым, но и детям, хотя в их сюжетах детского совсем мало, даже если их герои — забавные зверушки или Карлсон.

image
Читать дальше →

Функциональное программирование должно стать вашим приоритетом №1 в 2015 году

Время на прочтение7 мин
Количество просмотров49K

— ООП не сможет больше спасать нас от «Облачных монстров».



Примечание переводчика: Есть два понятия — параллельность (выполнение одновременно, независимо) и конкурентность (выполнение по шагам, поочерёдно, но одновременно несколько задач) и как всегда, мне пришлось поломать голову подобрая правильные термины.

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


Возможно вы уже слышали такое выражение, вроде: “Clojure”, “Scala”, “Erlang” или даже “Java теперь имеет лямбды”. И вы имеете хоть и отдалённое представление о «Функциональном программировании». Если вы участник какого-либа программисткого сообщества, тогда эта тема могла уже вами обсуждаться.

Если вы поищите в Google по словосочетанию «Функциональное программирование», вы не увидите что-то нового. Второй язык из созданных ранее уже охватывает эту тему, он был создан в 50-ых и называется Lisp. Тогда, какого чёрта, эта тема стала популярна только сейчас? Всего то 60 лет спустя?

В начале, компьютеры были очень медленными



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



Читать дальше →

«Хакеры и художники», «On Lisp» и эссе на русском. Учим(ся) писать как Пол Грэм

Время на прочтение16 мин
Количество просмотров74K
To follow the path:
look to the master,
follow the master,
walk with the master,
see through the master,
become the master.
«Лучший способ писать — это переписывать» Пол Грэм, «The Age of the Essay»



Преред курсом Сергея Абдульманова ( milfgard) я взял для себя квест — структурировать все статьи Грэма. Пол не только крутой программист и инвестор — он мастер лаконичного письма. Если milfgard назвал свой курс для контент-менеджеров "Буквы, которые стреляют в голову", то Пол Грэм стреляет из «по глазам» (кто играл в Fallout 2 тот поймет).

А еще мне захотелось освоить Lisp. Чисто так, чтобы мозг поразвивать, потому что крутые люди — Грэм, Кей и Рэймонд, Моррис — говорят хором: «Учите Lisp».

На данный момент Пол Грэм написал (по крайней мере, я нашел) 167 эссе. Из них на русский переведены 69.74(+10). Если читать по 1 статье в день (что очень хороший результат, потому что я после одной статьи хожу задумчивый неделю — голова кипит как после отличного мастер-класса, а иногда и как после двухдневного интенсива), то процесс займет полгода.

Под катом — список всех статей со ссылками на оригинал и с переводом (если он есть). Подборка живая (так что, как обычно, добавляйте в избранное, потом прочитаете) и будет дополняться по мере обнаружения свежака. Еще вы найдете переведенную на 8/15 книгу «Хакеры и художники» и 4/25 перевода книги «On Lisp». Так же я приведу свою подборку топ-5 статей Пола Грэма, с которых я бы рекомендовал начать знакомство с этим автором.
Читать дальше →

Что я рассказал бы себе о стартапах, если бы мог вернуться на 5 лет назад

Время на прочтение5 мин
Количество просмотров28K

Вот что я бы рассказал себе о стартапах, попади я в прошлое на пять лет назад, когда только начинал. По сути это то, чему я научился за прошедшее время. И уж точно это никакие не рекомендации или советы, а «ты» здесь обращено к себе самому, так что читайте как «я». Стиль изложения вольный (прим. переводчика — как и стиль перевода).

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

2. Над этой же идеей прямо сейчас кто-то уже работает. И, в общем-то, это не так плохо.

3. Никогда не подписывай NDA, пока не услышишь о чём вообще речь.

4. Нравится тебе это или нет, но большинство социальных связей в Лондоне основаны на выпивке. Смирись и прими, сумев избежать постоянного похмелья.

5. Люди, которые действительно чего-то добились — это не те, кто постоянно бухает.

6. Линейный рост может быть хуже, чем вообще никакого роста.

7. Большинство людей, которые говорят о скором провале, этим вообще не занимаются.

8. Легко обманывать себя, будто ты «заботишься об интересах пользователей», хотя на самом деле ты пытаешься найти способ заставить их согласиться с тем, над чем ты сам хочешь работать.
Читать дальше →

Console.mihai();

Время на прочтение2 мин
Количество просмотров26K
Разработчики из Mozilla почтили память одного из коллег, который внёс огромный вклад в разработку инструментов DevTools.

Румынский программист Михай Шукан (Mihai Șucan) исправил 1919 багов в Firefox. В середине 2010 года, когда он приступил к работе, код консоли представлял собой полную мешанину, которую никто вообще не хотел трогать, вспоминает Джо Уолкер (Joe Walker), один из координаторов проекта DevTools в Mozilla. Там были баги, на которые каждый смотрел и думал: чтобы всё грамотно исправить, потребуется пара недель. Лучше взять что-то другое. Такие баги оставляли кому-нибудь другому.

И тут за дело взялся Михай.
Читать дальше →

Scrollport.js — новая анимация скролла

Время на прочтение3 мин
Количество просмотров45K
image

Анимация скролла к месту страницы с момента изобретения почти не подвергалась никаким модификациям, никак не украшалась. Да никому и не надо вроде, и так все работает. Говоришь куда скроллить и за сколько нужно добраться. Всё.

Я решил на анимацию скролла посмотреть под другим углом. Не потому что сейчас с ним что-то не так, а потому что можно и поинтереснее. В результате некоторых наблюдений и всплесков фантазии удалось придумать 3 способа для более интересной анимации. В итоге завернул все в плагин «Scrollport.js» с 3 новыми и 1 классическим режимом. Смотрите демо и проходите под кат.
Читать дальше →

Про двумерную упаковку: offline алгоритмы

Время на прочтение12 мин
Количество просмотров71K
Сегодня, дорогой Хабр, я расскажу тебе историю о комбинаторной оптимизации.
Издревле (как минимум, с начала прошлого века) математики задавались вопросом, как оптимально разместить некоторое количество пива нужных и полезных предметов в рюкзаке. Была сформулирована задача о ранце и ее подзадачи — тысячи их! — которые заинтересовали информатиков, криптографов и даже лингвистов.

От задачи о ранце отпочковалась задача об упаковке в контейнеры (Bin Packing Problem), одной из разновидностей которых является задача двумерной упаковки (2-Dimensional Bin Packing). Снова отбросив несколько вариаций, мы наконец придем к двумерной упаковке в полуограниченную полосу (2-Dimensional Strip Packing, 2DSP). Чувствуете, сколько интересного уже осталось за кадром? Но мы еще не закончили продираться сквозь классификацию. У 2DSP есть два варианта входных данных: когда набор упаковываемых объектов известен заранее (offline-проблема) и когда данные поступают порциями (online-проблема).

В этой статье рассматриваются алгоритмы решения offline-варианта 2DSP. Под катом немного матчасти и много картинок с цветными квадратиками.

В чем, собственно, проблема?


Читать дальше →

Функциональное программирование на Javascript

Время на прочтение15 мин
Количество просмотров129K


Краткое содержание:

Возьмем немного функций высшего порядка, добавим частичное применение функций, приправим fold с map-ом и получим Javascript DSL для работы с DOM.

Человеческим языком:
Простое и понятное введение в функциональное программирование на чистом и понятном Javascript.

В отличие от «Через тернии к Haskell» все разжевано (возможно даже слишком) и разложено по полочкам.

Прочтение статьи развоплотит миф о неприменимости ФП в реальной жизни. Вы сможете смотреть на решение одной и той же задачи с разных точек зрения. Прямо как на картинке.

Читать дальше →

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность