Комментарии 42
Не нужно знать принципы работы двигателя внутреннего сгорания, чтобы хорошо управлять автомобилем и получать наслаждение от жизни! Не нужно знать тонкости работы виртуальных деструкторов, чтобы эффективно использовать СУБД с HTML-мордой и быстро решать бизнес-задачи с коротким time2market.
Так вот он главный принцип разработчиков системы 1С-Битрикс. /оффтоп
Вы, видимо, профессиональный пилот? Тогда почему в профессиональных гоночных командах куча профессиональных техников, помощников и пилоту остается задача только "рулить". Не такая уж и простая задача. Но пилоту важно знать какие обороты, какой крутящий момент у него, пик, минимум. Ему нужно знать развесовку и чувствовать ее. Но информация о принципе работы двигателе ему особо то и не нужна. Или, вы думаете, если профессиональный гонщик сядет за машину с роторным двигателем или с электродвигателем: он сразу будет хуже ехать без детального знания принципа работы привода? Ему достаточно знать как этот двигатель тянет, как едет. Т. е. внешние проявления, но не внутрянка.
низкоуровневые языки типа java и C# (и, упаси Бог, в С/C++)
Ктулху забери автора к себе. / оффтоп
В 1994 году датский программист Расмус Лердорф создал набор скриптов на Perl/CGI для вывода и учёта посетителей его онлайн-резюме, обрабатывающий шаблоны HTML-документов. Лердорф назвал набор Personal Home Page (Личная Домашняя Страница). Вскоре функциональности и быстроты Perl — интерпретатора скриптов — перестало хватать, и Лердорф разработал с использованием языка C новый интерпретатор шаблонов PHP/FI (англ. Personal Home Page / Forms Interpreter — «персональная домашняя страница / интерпретатор форм»)
Тут грань что считать высокоуровневым, а что низкоуровневым — размытая.
Вот —
Основная черта высокоуровневых языков — это абстракция, то есть введение смысловых конструкций, кратко описывающих такие структуры данных и операции над ними, описания которых на машинном коде (или другом низкоуровневом языке программирования) очень длинны и сложны для понимания.
И вот —
Низкоуровневый язык программирования (язык программирования низкого уровня) — язык программирования, близкий к программированию непосредственно в машинных кодах
Критерии очень даже понятные
Коллега, а вы пробовали ассемблер? Попробуйте, и тогда вопрос с С у вас отпадет, а разница между python и Java перестанет быть "пипец огромной"
Это понятно. Но кто-нибудь сейчас будет писать сайт на ассемблере? Его даже на СИ писать не будут. Даже такие высоконагруженные сервисы, как ВК, работают на PHP, почему-то их не пишут на СИ и тем более на ассемблере.
НО от этого они высокоуровневые языки, те которые автор привел в статье не станут низкоуровневыми, и наоборот тоже чуда не случится.
Так то попытка смешать мух и котлеты не очень удачная.
Или по Вашему все что не используется в вебе сразу низкоуровневое? ИМХО, но так то есть совсем специфичные высокоуровневые языке вообще не используемые в вебе никоим образом, но хотя возможно и могли бы там использоваться, и что они тоже становятся высокоуровневыми?
Вопрос изначально стоит не в том, на чем лучше писать сайты, а о том что деление некорректное на высоко- и низко- уровневые языки. Веб это не апогей разработки. тем более если разговаривать о нем в контексте кампании 1С-Битрикс.
Деление на самом деле условное. Когда был ассемблер и си (условно), то все было понятно, какой низкоуровневый, какой высокий. Сейчас же границы очень сильно размыты. А так как статья о веб-разработке, то не веб языки можно считать условно низкоуровневыми (но опять же, это не точная, "научная" формулировка). Понятно, что это не соответствует классическим представлениям.
А написать сайт на си не представляет большой проблемы. И пишут какие-то специфичные вещи, с которыми не может справиться PHP.
А веб, уверен, это вершина сейчас в мире разработки. Почти все делается для него и он направляет индустрию, как бы нам не хотелось не признавать это и углубиться в совершенствование компилятора какого нить
Сборщик мусора у них, в отличие от C++, встроенный.
Вот не помню когда последний раз писал new/delete в C++ ))
Про тесты ты по-прежнему не прав :) Тесты пишут не для того, чтобы проверить, хорошо ли работает код. Тесты пишут для того, чтобы если через два года десятый по счету менеджер и пятнадцатый программист сломают какую-то фундаментальную штуку в бизнес-логике — это было бы видно СРАЗУ.
А потом еще и тест остается на случай регрессии. Двойная выгода…
Разные программисты пишут тесты для разных целей. Кто-то пишет, чтобы через множество итераций разными программистами проверить, что все работает так же. Кто-то пишет для того, чтобы в ходе разработке проверять, что затрагиваемый, но уже реализуемый функционал не изменил логику поведения, не "сломался".
Кто-то уверен в себе и плюет на тесты )))
Учите jQuery, а не javascript.
Но все же, кажется, это все добрая шутка, т.к. про тесты как-то толсто вышло.
В принципе, можно сказать, что для веба сейчас важнее не выбор языка программирования, а умение правильно писать. Или, возможно, правильно заниматься раскруткой/поддержкой.
Но это не мешает мне зарабатывать на жизнь исключительно веб-разработкой. При всей косячности Битрикса, в статье прозвучали здравые мысли. В первую очередь я стремлюсь писать простой и поддерживаемый код — KISS, DRY, YAGNI для меня знакомые аббревиатуры. Также для меня важно подробно изучить инструменты и технологии, с которыми приходится работать, возможности стандартных библиотек.
Грехи и добродетели — в веб-разработке