Найти новый подход к языкам программирования

… на конференции True Tech Day для ИТ-специалистов. Она пройдёт 17 мая в Москве, участие бесплатное. А ещё будет трансляция. На пяти треках 50 специалистов выступят с докладами об архитектуре, облачных платформах, машинном обучении в работе с естественным языком и кодом, вероятностном программировании, безопасности контейнеров…

Реклама, ПАО «МТС», 18+

0
44 комментария
Написать комментарий...
Император Нолимоций

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

Ответить
Развернуть ветку
Igor S

Очередное болтосборище

Ответить
Развернуть ветку
Аккаунт заморожен

Комментарий недоступен

Ответить
Развернуть ветку
Uzabila

Хотел записаться посмотреть, но как оказалось ПэХаПэ нету, о чем они тогда вообще?

Ответить
Развернуть ветку
Stanislav Kychanov

ПэХаПэ уже нигде нету, может пора менять стэк? :D

Ответить
Развернуть ветку
Сергей Леyшин

Это не так, почти все сайты сделаны на стороне сервера именно на РНР, всекаете, почти все. И это прекрасный язык для своей ниши, разумеется,

Ответить
Развернуть ветку
Uzabila

А здесь вы сидите и комментарии пишете на Руби?

Ответить
Развернуть ветку
Stanislav Kychanov

комментарии я пишу на русском

Ответить
Развернуть ветку
Uzabila

Да, только на русском вы пишете на сайте с PHP 8.1.17, которого "уже нигде нету", и веб-сервером Nginx.

Ответить
Развернуть ветку
Stanislav Kychanov

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

Ответить
Развернуть ветку
Uzabila

Ну хер его знает

Ответить
Развернуть ветку
Stanislav Kychanov

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

Ответить
Развернуть ветку
Uzabila

Он не пишет, значит и под ним никто не пишет?

Но суть была про другое - "нигде не нужны" и почти 4000 вакансий. Тот же React 2800 вакансий, а казалось бы они нужны всюду.

Ответить
Развернуть ветку
Stanislav Kychanov

ты не теми цифрами оперируешь

Ответить
Развернуть ветку
Stanislav Kychanov

и два

Ответить
Развернуть ветку
Яков Борисов

И что же актуально? Нода? Которая на стороне большинства хостингов ещё не поддерживается? Извольте заводить впску под простой сайт?

Наиболее популярные cms Все написаны на php

Ответить
Развернуть ветку
Stanislav Kychanov

причём тут CMS? Мы не о формошлёпах говорим, а о разработчиках.
Актуальные стеки для веб-разработки - Java, Node.js, Go, C#, Phyton. Остальное уже андеграунд.

Ответить
Развернуть ветку
Яков Борисов

Что есть веб разработка в вашем понимании? И давно ли ларавель, симфони, Слим стали андерграундом?
И чем "веб разработка" отличается от разработки на php?
А, кстати, почему ruby on rails в вашем "топе" потерялся?

Ответить
Развернуть ветку
Stanislav Kychanov

Парниш, я лишь написал своё мнение, основанное на 20 летнем опыте разработки и текущем состоянии дел в индустрии. Хочешь верить в ПХП, верь дальше, мне пофиг. Что-то объяснять и доказывать мне не интересно.

А, кстати, почему ruby on rails в вашем "топе" потерялся?

потому что он не в топе.

Ответить
Развернуть ветку
Яков Борисов

Парниша? Я не удивлюсь если у меня за спиной чуть больше проектов чем у вас.

Ruby кстати - около 1% от всех работающих вебсайтов

Ответить
Развернуть ветку
Stanislav Kychanov

если ты пишешь вебсайты, то я тоже не удивлюсь. Я не формочки шлёпаю.

Ответить
Развернуть ветку
Яков Борисов

А что, например?

Ответить
Развернуть ветку
Stanislav Kychanov

энтерпрайз

Ответить
Развернуть ветку
Яков Борисов

Erp? Те же формы

Ответить
Развернуть ветку
Stanislav Kychanov

конечно :)

Ответить
Развернуть ветку
Stanislav Kychanov

мои слова элементарно подтверждаются, если чуть погуглить
https://habr.com/ru/articles/730954/
я так понимаю попал на пхпыха, поэтому ты решил тут поумничать?

Ответить
Развернуть ветку
rlinos

Шо за Фитон?

Ответить
Развернуть ветку
Stanislav Kychanov

опечатка очевидно

Ответить
Развернуть ветку
Bo.G

А при чем тут архитектура? Это что съезд архитекторов и программеров из анекдота про цивилизацию и дятла?

Ответить
Развернуть ветку
Максим

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

Ответить
Развернуть ветку
Bo.G

Я то в курсе,что у программных продуктов есть такое направление. Вот только оно так и называется "архитектура программного обеспечения".
Ты же в курсе, что программисты народ дотошный до мелочей, иначе софт бы не работал, так как им приходится описывать каждый элемент каждого шага.
И такая небрежность к терминологии свидетельствует лишь о 2 состояниях: либо ты далёк от разработки ПО, либо разгильдяй.

Ответить
Развернуть ветку
andrei ignat

Просто кто-то очкастый задрот который решил вы.бнуться так как кроме как в коментах больше рот нигде открыть не может…

Ответить
Развернуть ветку
Bo.G

Ясно

Ответить
Развернуть ветку
Star Light

Вообще-то не требуется описывать элемент КАЖДОГО шага. Есть же циклы.

Ответить
Развернуть ветку
Сергей Леyшин

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

Ответить
Развернуть ветку
Labeling

По поводу выразительной способности ЯП почти 20 лет назад хорошо высказался Joel Spolsky https://www.joelonsoftware.com/2006/08/01/can-your-programming-language-do-this/

Ответить
Развернуть ветку
Сергей Леyшин

Речь не про выразительность, а именно про то что я написал: if else for break function aa({},) здесь в фигурных скобках входные данные которые могут меняться в теле функции, [] и массивы.Этих операторов вполне достаточно, при условии, специализированные операторы типа ввода вывода прячутся под кат, то есть в тело функции.Ещё раз повторяю их достаточно, чтобы построить любую программу. При этом в репозитории все эти функции должны быть , причём вместе с подробнейшим описание в комментариях на русском языке, а не где то там у дяди Вани в pdf файле на сотой странице..

Ответить
Развернуть ветку
neat0n

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

Ответить
Развернуть ветку
Сергей Леyшин

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

Ответить
Развернуть ветку
neat0n

Я вам вроде бы уже выше объяснил, почему вы не правы. Самое простое != Уменьшение сложности и != комфорту разработки. В программировании есть несколько ключевых критериев, вот вам два из них:
1. Снижение сложности кода.
2. Удобство читаемости кода.

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

Минимальное количество необходимого != Оптимальный вариант использования.

Читайте дядюшек Мартина и Макконнелла.

Ответить
Развернуть ветку
Сергей Леyшин

Цитата: 'Инкапсуляция в программировании — это принцип, согласно которому внутреннее устройство сущностей нужно объединять в специальной «оболочке» и скрывать от вмешательств извне. Доступ к объектам возможен через специальные открытые методы, а напрямую обратиться к их содержимому нельзя.'
Так вот в функции как раз такая инкапсуляция и есть. Весь код скрыт под катом, то есть на репозитории, а обращение к функции происходит только через входные данные. Чём Вам функция так неугадила?
Вторая цитата: '
Абстра́кция (лат. abstractio «отвлечение») — процесс отвлечения (абстрагирования) от тех или иных характеристик объекта для их избирательного анализа; при этом наблюдаемый объект замещается его идеализированным теоретическим образом — абстрактным объектом.' Вот Вы сами поняли, что здесь написано? Программа это не отвлеяённая вещь в себе, а вполне конкретная инструкция для вычислителя делать то то и то то в таком порядке при таких входных данных. Как от этого всего можно абстрагироваться?

Ответить
Развернуть ветку
neat0n

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

Абстра́кция в объектно-ориентированном программировании — это использование только определения характеристик объекта, без описания их конкретных/детальных реализаций.

Ответить
Развернуть ветку
Сергей Леyшин

Простите великодушно, я где-то писал про ООП, я писал только про функциональное программирование, где абстракция нам до одного места. Если программа будет собрана по частям из кирпичиков-функций, зачем оно нам нужно это абстрагирование? Чтобы плодить новые сущности? Вот приведите пример, где код стал короче, проще в понимании и лаконичнее при использовании этой абстракции. К тому же нам не нужна тонна лишних доков по пониманию логики программы. Достаточно просмотреть листинг репозитория рядом с определением функции, где в комментах будет подробно разъяснено что и как та делает, какие входы нужны и какие выходы получаются. Более того при поиске подходящей функции достаточно прошерстить листинг репозитория по поиску с набором ключевых слов и если они будут в комментах мы её найдём. То есть нам не нужно держать в уме весь массив названий функций и что та функция делает, чтобы подобрать нужный кирпичик в коде, а достаточно поискать в репозитории по ключевым словам и выбрать один самый подходящий вариант,.

Ответить
Развернуть ветку
Сергей Леyшин

Отвечаю самому себе(ввиду жадности владельцев vc.ru, закрывших в бесплатной версии редактирование сообщения по истечении счёчика времени).
Здесь следовало бы добавить, что вид функции желательно унифицировать, никаких неявных функций, а все входные переменные по умолчанию сделать изменяемыми. То есть только один вид
ff(pp1,pp2,pp3,pp4), a тип переменных любым , в том числе и массивами, чтобы включить возможность добавлять количество входных переменных на лету.

Ответить
Развернуть ветку
41 комментарий
Раскрывать всегда