Найти новый подход к языкам программирования
… на конференции True Tech Day для ИТ-специалистов. Она пройдёт 17 мая в Москве, участие бесплатное. А ещё будет трансляция. На пяти треках 50 специалистов выступят с докладами об архитектуре, облачных платформах, машинном обучении в работе с естественным языком и кодом, вероятностном программировании, безопасности контейнеров…
Реклама, ПАО «МТС», 18+
350K
показов
5.1K
открытий
Как вы, пять оставшихся в России рекламодателей, зае^ли своим тупым никому не нужным г^ном, имитирующим рывки и прорывы.
Очередное болтосборище
Комментарий недоступен
Хотел записаться посмотреть, но как оказалось ПэХаПэ нету, о чем они тогда вообще?
ПэХаПэ уже нигде нету, может пора менять стэк? :D
Это не так, почти все сайты сделаны на стороне сервера именно на РНР, всекаете, почти все. И это прекрасный язык для своей ниши, разумеется,
А здесь вы сидите и комментарии пишете на Руби?
комментарии я пишу на русском
Да, только на русском вы пишете на сайте с PHP 8.1.17, которого "уже нигде нету", и веб-сервером Nginx.
vc это показатель какой-то что-ли? Постоянно вижу как пхпшники ходят по собесам, нигде не нужны.
Ну хер его знает
Руководитель отдела разработки - это не рядовой разработчик. Вангую данный товарищь код писать там не будет.
Он не пишет, значит и под ним никто не пишет?
Но суть была про другое - "нигде не нужны" и почти 4000 вакансий. Тот же React 2800 вакансий, а казалось бы они нужны всюду.
ты не теми цифрами оперируешь
и два
И что же актуально? Нода? Которая на стороне большинства хостингов ещё не поддерживается? Извольте заводить впску под простой сайт?
Наиболее популярные cms Все написаны на php
причём тут CMS? Мы не о формошлёпах говорим, а о разработчиках.
Актуальные стеки для веб-разработки - Java, Node.js, Go, C#, Phyton. Остальное уже андеграунд.
Что есть веб разработка в вашем понимании? И давно ли ларавель, симфони, Слим стали андерграундом?
И чем "веб разработка" отличается от разработки на php?
А, кстати, почему ruby on rails в вашем "топе" потерялся?
Парниш, я лишь написал своё мнение, основанное на 20 летнем опыте разработки и текущем состоянии дел в индустрии. Хочешь верить в ПХП, верь дальше, мне пофиг. Что-то объяснять и доказывать мне не интересно.
А, кстати, почему ruby on rails в вашем "топе" потерялся?потому что он не в топе.
Парниша? Я не удивлюсь если у меня за спиной чуть больше проектов чем у вас.
Ruby кстати - около 1% от всех работающих вебсайтов
если ты пишешь вебсайты, то я тоже не удивлюсь. Я не формочки шлёпаю.
А что, например?
энтерпрайз
Erp? Те же формы
конечно :)
мои слова элементарно подтверждаются, если чуть погуглить
https://habr.com/ru/articles/730954/
я так понимаю попал на пхпыха, поэтому ты решил тут поумничать?
Шо за Фитон?
опечатка очевидно
А при чем тут архитектура? Это что съезд архитекторов и программеров из анекдота про цивилизацию и дятла?
Ты же в курсе что у сложных программных продуктов есть своя собственная архитектура, которую сначала продумывают программисты которых так и называют архитекторы. Это самые крутые программисты. Программисты ниже иерархией уже и непосредственно пишут код в соответствии с этой архитектурой.
Я то в курсе,что у программных продуктов есть такое направление. Вот только оно так и называется "архитектура программного обеспечения".
Ты же в курсе, что программисты народ дотошный до мелочей, иначе софт бы не работал, так как им приходится описывать каждый элемент каждого шага.
И такая небрежность к терминологии свидетельствует лишь о 2 состояниях: либо ты далёк от разработки ПО, либо разгильдяй.
Просто кто-то очкастый задрот который решил вы.бнуться так как кроме как в коментах больше рот нигде открыть не может…
Ясно
Вообще-то не требуется описывать элемент КАЖДОГО шага. Есть же циклы.
В принципе это не верная фабула для развития программного кода. Почему то все стремятся её усложнить до невозможности. На самом деле достаточно простых набора логических операторов, организаторов цикла и обёртки для функций. И всё. То есть мы собираем любую программу из кирпичиков , функций, обкладываем их условиями и циклами. Главное, чтобы каждая функция имела развёрнутое описание, что туда вводится, что она делает с вводимым и что получается на выходе. То есть у нас есть репозиторий с кодом функций, включающий описание и точки входа в него.
По поводу выразительной способности ЯП почти 20 лет назад хорошо высказался Joel Spolsky https://www.joelonsoftware.com/2006/08/01/can-your-programming-language-do-this/
Речь не про выразительность, а именно про то что я написал: if else for break function aa({},) здесь в фигурных скобках входные данные которые могут меняться в теле функции, [] и массивы.Этих операторов вполне достаточно, при условии, специализированные операторы типа ввода вывода прячутся под кат, то есть в тело функции.Ещё раз повторяю их достаточно, чтобы построить любую программу. При этом в репозитории все эти функции должны быть , причём вместе с подробнейшим описание в комментариях на русском языке, а не где то там у дяди Вани в pdf файле на сотой странице..
Так а кто ж спорит, что достаточно? Но, понимаете, в принципе, человеку тоже достаточно для жизни пещеры, копья и бегающих вкусных зверушек неподалеку.
Нужно стремится к самому простому пути в достижении цели, а именно в создании некой отвлечённой программы.
и тут в принципе есть три пути функции, классы и визуальное программирование, где эти функции и классы спрятаны в графические объекты и нам предлагается с помощью мышки наладить между ними логическое взаимодействие, а также привязать вход и выход к этим объектам. Конечно это дело вкуса, но я голосую за функции, причём подробно задокументированные в репозитории и набор логических условий, циклов и прерываний..
Я вам вроде бы уже выше объяснил, почему вы не правы. Самое простое != Уменьшение сложности и != комфорту разработки. В программировании есть несколько ключевых критериев, вот вам два из них:
1. Снижение сложности кода.
2. Удобство читаемости кода.
Так вот, несмотря на то, что любую программу можно написать благодаря тому, что вы описали - этот прием не слишком хорошо работает на те два пункта, что я описал. Как минимум потому, что не даёт достаточный уровень инкапсуляции и абстракции кода, а следовательно, ваш подход априори работает хуже.
Минимальное количество необходимого != Оптимальный вариант использования.
Читайте дядюшек Мартина и Макконнелла.
Цитата: 'Инкапсуляция в программировании — это принцип, согласно которому внутреннее устройство сущностей нужно объединять в специальной «оболочке» и скрывать от вмешательств извне. Доступ к объектам возможен через специальные открытые методы, а напрямую обратиться к их содержимому нельзя.'
Так вот в функции как раз такая инкапсуляция и есть. Весь код скрыт под катом, то есть на репозитории, а обращение к функции происходит только через входные данные. Чём Вам функция так неугадила?
Вторая цитата: '
Абстра́кция (лат. abstractio «отвлечение») — процесс отвлечения (абстрагирования) от тех или иных характеристик объекта для их избирательного анализа; при этом наблюдаемый объект замещается его идеализированным теоретическим образом — абстрактным объектом.' Вот Вы сами поняли, что здесь написано? Программа это не отвлеяённая вещь в себе, а вполне конкретная инструкция для вычислителя делать то то и то то в таком порядке при таких входных данных. Как от этого всего можно абстрагироваться?
Ну, во-первых, инкапсуляция это несколько больше, чем сокрытие в одних лишь функциях. Т.е. да, функция - частный случай инкапсуляции, но этого недостаточно для управления сложностью.
Функция мне всем угодила, я нигде и не говорил, что эта концепция плоха) наоборот, изобретение функций продвинуло программирование вперёд.
Абстра́кция в объектно-ориентированном программировании — это использование только определения характеристик объекта, без описания их конкретных/детальных реализаций.
Простите великодушно, я где-то писал про ООП, я писал только про функциональное программирование, где абстракция нам до одного места. Если программа будет собрана по частям из кирпичиков-функций, зачем оно нам нужно это абстрагирование? Чтобы плодить новые сущности? Вот приведите пример, где код стал короче, проще в понимании и лаконичнее при использовании этой абстракции. К тому же нам не нужна тонна лишних доков по пониманию логики программы. Достаточно просмотреть листинг репозитория рядом с определением функции, где в комментах будет подробно разъяснено что и как та делает, какие входы нужны и какие выходы получаются. Более того при поиске подходящей функции достаточно прошерстить листинг репозитория по поиску с набором ключевых слов и если они будут в комментах мы её найдём. То есть нам не нужно держать в уме весь массив названий функций и что та функция делает, чтобы подобрать нужный кирпичик в коде, а достаточно поискать в репозитории по ключевым словам и выбрать один самый подходящий вариант,.
Отвечаю самому себе(ввиду жадности владельцев vc.ru, закрывших в бесплатной версии редактирование сообщения по истечении счёчика времени).
Здесь следовало бы добавить, что вид функции желательно унифицировать, никаких неявных функций, а все входные переменные по умолчанию сделать изменяемыми. То есть только один вид
ff(pp1,pp2,pp3,pp4), a тип переменных любым , в том числе и массивами, чтобы включить возможность добавлять количество входных переменных на лету.