(SCOEJuQ) / Наверное опять о других бабах думает (I Bet He's Thinking About Other Women) :: Опять о своих бабах думает :: it-юмор :: мем :: ide :: geek (Прикольные гаджеты. Научный, инженерный и айтишный юмор)
Подробнее
(SCOEJuQ)
it-юмор,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,ide,мем,Опять о своих бабах думает,Наверное опять о других бабах думает,I Bet He's Thinking About Other Women
Скажет не IDE а компилер, IDE это просто редактор текста с финтифлющками.
В большинстве языков программирования, где ';' используется как разделитель действий, не всегда можно однозначно определить места, где он должен стоять автоматически.
Не всегда можно определить, но было бы круто, если бы вместо сообщения об ошибке "ожидается *знак*" просто блядь, вставлял бы его туда, и если ошибка ушла то не ебал мозги)) У меня в 90% случаев не хватает именно того, что он говорит, и только в 10% я там проебал структуру где-то
Ну в редких контекстах это можно сделать, но соответствующие присадки существенно усложняют реализацию LALR парсера, который теперь должен как-то обратно с лексером связываться чтобы что-то там додумывать. Иной раз бы shift/reduce нормально разрулить, какая уж там нахрен эвристика. Не надо нам таких додумываний.
Не нафиг такое. Что должно быть написано в коде должен решать программист. Если иде будут править автоматом, то количество улетевших в продакшн возрастёт.
А ведь программирование, это не всегда вэб и бизнесс логика, где можно откатится, иногда это работа с железом и если иде поставит семиколон там где должен быть оператор ('+','-' и т.д.) - может и сломаться чего.
Наверное этим и руководствуются. Хотя в некоторых моментах, вроде описания интерфейса в дарте я бы не отказался от такой фичи. Пока руку не надрочил идешкой выпиливать виджет, который оборачивает другой виджет, к сожалению (хотя есть такой функционал). Ну и вечно сижу потом дописываю по подсказкам скобки да точки с запятыми, или лишние убираю. Понимаю, что проблемы нуба, но было бы приятно.
З.ы. я видимо отстал от жизни, но разве для хардвара не другие идешки идут? Что нибудь такое древнее, с интерфейсом из 90-х))
IDE - штука такая, универсальная. Можно почти любую настроить на нужный язык и нужную платформу. Так что любители идешок и метал кодят в них, другие и настольные приложухи кодят в блокноте и с мэйком.
В современных IDE подсветку обеспечивает языковой сервер, который работает сложнее чем передняя половина компилятора, потому что вынужден работать после нахождения проблем и подкидывать варианты завершения и подстановки. Но подсказывать программисту где надо поставить семиколон вне компетенции языкового сервера. Максимум можно ожидать подсветки проблемных мест.
Он ещё и мультиязыковой, так как иде зачастую работает с несколькими вложенными языками в одном исходнике, и должно уметь понимать их все, понимать границы, и ещё и оперировать связанными сущностями во всех языках, и во всём проекте, в том числе и в либах.
По крайней мере, у C# в его языковом сервере крутится именно тот же самый компилятор. Он специально написан так, чтобы работать в том числе в режиме недописанного кода несколько раз в секунду.
Конкретно для C# существует минимум три разных языковых сервера, как минимум один из них не использует Roslyn (по крайней мере, об его использовании не упоминается в редми к репозитарию) https://github.com/CXuesong/LanguageServer.NET
Ну и да, с одной стороны один конкретный язык не является показателем, с другой - даже в C# для реализации языкового сервера потребовалась значительная надстройка над парсером из состава компилятора.
Пишу на Пайтоне, пробелы не считаю. Просто Tab автозаменой превращается в нужное кол-во пробелов, и о них вообще не приходится думать. Хватает гениев, которые разные блоки разным количеством пробелов отбивают, вот им бы котёл. Но лично я не представляю, кем надо быть, чтобы с современными IDE испытывать проблемы с отступами.
IDE мысли должна теперь читать или что?
В большинстве языков программирования, где ';' используется как разделитель действий, не всегда можно однозначно определить места, где он должен стоять автоматически.
А ведь программирование, это не всегда вэб и бизнесс логика, где можно откатится, иногда это работа с железом и если иде поставит семиколон там где должен быть оператор ('+','-' и т.д.) - может и сломаться чего.
З.ы. я видимо отстал от жизни, но разве для хардвара не другие идешки идут? Что нибудь такое древнее, с интерфейсом из 90-х))
Ну и да, с одной стороны один конкретный язык не является показателем, с другой - даже в C# для реализации языкового сервера потребовалась значительная надстройка над парсером из состава компилятора.
Мне неудобно то, что это часть языка, и я не могу увеличить и уменьшить отступ в произвольном месте для того что бы повысить читаемость текста.
Ну и другие некоторые решения, вроде True False с большой буквы. Ну блин...
Не скажу что пайтон заставляет меня страдать, но блин язык упрт.