LINUX.ORG.RU

Автодополнение - зло?

 , , , ,


0

2

Кто нормально работает с клавиатурой? 90-100 wps? Десятипальцевый?

Можете работать в простом редакторе без автодополнения кода? MCEdit, joe, ee, micro, nano, vim без плагинов(удалённо на чужой машине)? Не могу себе представить, ээээээээээ, голый emacs?

Как вы считаете, новичок или специалист средней руки при изучении нового ЯП, автодополнение помогает или является помехой?
Если человек не может в методы, это не потому, что «в документацию не шмогла»? Лень? Неумение набирать на клавиатуре?

Когда стоит давать новичку IDE? На каком этапе? И стОит ли вообще?


Ответ на: комментарий от AntonI

Напишите FDTD код моделирующий антенну, размеры счетной сетки 1024^3, целевая машина персоналка, желательное время счета часы. На чем писать то будете, на современной яве иль питоне?

На фортране. Потому что есть готовый почти аналогичный. И считать будет не медленнее, чем си++.

Если необходим «язык без UB», то реализация с достаточно высокой скоростью работы возможна на аде или расте.

С++ ужасный ЯП, но в его нише пока что ничего лучше не придумано.

Ниша C++ – задачи, для которых есть готовые библиотеки, написанные на C++. Так как из других языков эти библиотеки использовать крайне неудобно, то приходится писать на C++.

monk ★★★★★
()
Ответ на: комментарий от AntonI

Идите, решите на питоне поставленную задача так что бы производительность отвечала условию. Это и правда невозможно.

Возможно. Никто не мешает из питона дёргать оптимизированный код или даже на чистом питоне использовать PyXAsm.

Поэтому не «невозможно», а «более трудоёмко, чем написать на C++».

monk ★★★★★
()
Ответ на: комментарий от monk

Ниша C++ – задачи, для которых есть готовые библиотеки, написанные на C++. Так как из других языков эти библиотеки использовать крайне неудобно, то приходится писать на C++.

Учение Маркса всесильно, потому что оно верно

anonymous
()
Ответ на: комментарий от anonymous

покажи идиота, которому необходим язык с UB

Всегда, когда необходим оптимизирующий компилятор, выдающий максимально быстрый код для алгоритма, необходим язык с UB.

Поэтому даже в Фортране и Аде по факту есть UB (про Аду я всё-таки был неправ в предыдущем комментарии, он там называется erroneous execution = «the program enters a state not defined by the language semantics, but the consequences are not bounded by the Ada Reference Manual»).

monk ★★★★★
()
Ответ на: комментарий от monk

На фортране. Потому что есть готовый почти аналогичный. И считать будет не медленнее, чем си++.

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

Ключевые слова Roofline model, memory bound.

Нет, на фортране эта задача не решается:-)

AntonI ★★★★★
()
Ответ на: комментарий от monk

Никто не мешает из питона дёргать оптимизированный код

Написанный на плюсах? И причем тут питон? Тогда можно сказать что все задачи решаются на баше:-)

или даже на чистом питоне использовать PyXAsm.

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

AntonI ★★★★★
()
Последнее исправление: AntonI (всего исправлений: 1)
Ответ на: комментарий от monk

Ниша C++ – задачи, для которых есть готовые библиотеки, написанные на C++.

Нет. Мы с коллегвми (и еще куча народа в других областях) пишем на плюсах практически не используя готовые библиотеки. Даже stl юзается по минимуму.

AntonI ★★★★★
()
Последнее исправление: AntonI (всего исправлений: 1)
Ответ на: комментарий от monk

Всегда, когда необходим оптимизирующий компилятор, выдающий максимально быстрый код для алгоритма, необходим язык с UB.

ну да, откуда логика у человека, который пишет РРРРУССКИЙ язык программирования

anonymous
()
Ответ на: комментарий от AntonI

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

Любую оптимизацию, возможную на Си++, можно реализовать на Фортране. Разве что за счёт шаблонов код на Си++ может быть компактней.

monk ★★★★★
()
Ответ на: комментарий от AntonI

Написанный на плюсах?

На языке с нормальным ABI (то есть Си/Фортран/…). Плюсовые классы и шаблоны только из плюсов нормально можно использовать.

И причем тут питон? Тогда можно сказать что все задачи решаются на баше

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

Вы не обратили внимание на требования по размеру задачи и производительности - а они очень жесткие.

Так на питоне можно сформировать любой код и запустить. Размер кода, формирующего оптимальную программу и время формирования на фоне времени обработки и объёма обрабатываемых данных несущественны.

monk ★★★★★
()
Ответ на: комментарий от AntonI

Нет. Мы с коллегвми (и еще куча народа в других областях) пишем на плюсах практически не используя готовые библиотеки. Даже stl юзается по минимуму.

Это просто ваш выбор. Я на Racket и Haskell для себя пишу. Но не считаю, что то, что я на них пишу — ниша, где может использоваться только Racket и Haskell.

monk ★★★★★
()
Последнее исправление: monk (всего исправлений: 1)
Ответ на: комментарий от anonymous

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

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

monk ★★★★★
()
Ответ на: комментарий от monk

Можете посмотреть список докладов по HPC на какой нить RuSCD - нейросети на питоне (но нейросети свой ммр), 90% остальных HPC это плюсы. Причем готовых либ там ооочень мало. Да, есть проекты на фортране - но их исчещающе мало.

За 20 с гаком лет работы над числодробилками лично я сталкивался с двумя фортраноскими кодами (один вот живой но который год идут разговоры что пора бы его заменить). Я знаю серьезные финансовые конторы (совсем другая область, не числодробилки) где все на плюсах с минимумом готовых либ.

У фортрана две проблемы:

  1. на нем очень сложно сделать что то нестандартное.

  2. под фортран очень трудно найти квалифицированных разработчиков.

AntonI ★★★★★
()
Последнее исправление: AntonI (всего исправлений: 1)
Ответ на: комментарий от monk

Плюсовые классы и шаблоны только из плюсов нормально можно использовать.

Я их нормально использую из питона например через SWIG.

Нейросетки программируются на питоне.

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

Так на питоне можно сформировать любой код и запустить. Размер кода, формирующего оптимальную программу и время формирования на фоне времени обработки и объёма обрабатываемых данных несущественны.

Если Вы про написание своего компилятора на питоне, то это утопия. Если про формипование кода на другом ЯП - да, пишутся кодогенераторы на питоне которые генерят плюсовый код:-) Фортрановский код не генерят по целому ряду причин.

AntonI ★★★★★
()
Ответ на: комментарий от monk

Любую оптимизацию, возможную на Си++, можно реализовать на Фортране. Разве что за счёт шаблонов код на Си++ может быть компактней.

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

Отдельная песня - сможет ли компилятор этот код собрать во что то разумное. Я ХЗ. Медицинский факт - я знаю несколько реализаций озвученной задачи про FDTD, и все они плюсовые. С другими, аналогичными задачами, аналогично.

Есть еще полиэдральные оптимизируюшие компиляторы. Они отчасти спасают ситуацию, но результаты у них сильно хуже чем если идти от специфики задачи и делать руками.

AntonI ★★★★★
()
Последнее исправление: AntonI (всего исправлений: 1)

Все!
О разработке писать на форуме не буду.

Почему?

Да оно НИ КОМУ и не нужно!
Ковыряют палочкой, старые технологии, а думать, а тем паче вести разработку

НЕ ХОТЯТ! ...

Для фана, пожалуй буду постить …

anonymous
()
Ответ на: комментарий от anonymous

Ковыряют палочкой, старые технологии,

Ээээээээээээээээээ, коряво написал.
Смысл исказил до неузнаваемости.
У меня нет предвзятости к каким-либо разработкам и ЦЕНЮ, даже
разработку УТЮГА 1425 года.

Все разработчикам - РЕСПЕКТ!  

Речь шла о том, что многие УВЯЗЛИ ПО УШИ В ТЕХНОЛОГИЯХ шестидесятилетней давности.
Это не значит, что технологии плохие.
Плохо то, что

НОВЫЕ СОЗДАВАТЬ ЛЕНЯТСЯ! ...

PS: «Вот в чем вопрос!»

anonymous
()
Ответ на: комментарий от anonymous

Речь шла о том, что многие УВЯЗЛИ ПО УШИ В ТЕХНОЛОГИЯХ шестидесятилетней давности.

А что ты имеешь против? Или что-то поменялось? Всё, что было предсказано - сбылось. Качество так называемых технологий будущего - гадость. Или тебе по нраву всякие Agile, CD/CI и вот это всё? Это же от отсутствия знаний. И нахлебничек чтобы разобрался, мог типа руководить (возьми любого менеджера)

modest
() автор топика
Ответ на: комментарий от modest

Или что-то поменялось?

Что-то поменялось.
Иначе бы в посте о новых технологиях не говорил …

anonymous
()
Ответ на: комментарий от anonymous

А, так компьютеры перестали складывать нули и единицы? Делить научились? Или квантовую телепортацию голосом?

modest
() автор топика
Ответ на: комментарий от modest

А, так компьютеры перестали складывать нули и единицы? Делить научились? Или квантовую телепортацию голосом?

Шутка

Весьма глубокое суждение!

РЕСПЕКТ - счетам!  
РЕСПЕКТ - арифмометрам! 
РЕСПЕКТ - компьютерам!  

ВСЕМ    - РЕСПЕКТ!  
anonymous
()
Ответ на: комментарий от anonymous

Шутка

Эээээээээээээээээээ, самое важное не сказал!
А на табло одни НУЛИ.
Ай люли, ай люли.

РЕСПЕКТ - табло! ...
anonymous
()
Ответ на: комментарий от anonymous

а что поменялось? Вот расскажи, мне интересно. Всё, что описывали умные люди, всё сбывается, очень многие рассуждения.

modest
() автор топика
Ответ на: комментарий от modest

… всё сбывается, очень многие рассуждения.

Видите ли, на форуме четыре года и писал многое о разработке.
Результат, приблизительно такой

Опять этот полу-умный флудит ...

Так что на ТАБЛО ОДНИ НУЛИ

Ай люли, ай люли ...

Зачем мне быть полу-умным.
Нужно же и умнеть когда-то.
Правильно?

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

А результат?
Так вот он
А на ТАБЛО ОДНИ НУЛИ

Ай люли, ай люли ...
anonymous
()
Ответ на: комментарий от modest

Эммм….за 60 лет разработка стала серьезной индустрией. Как и положено в серьезной индустрии процесс был формализован, четко разбит на этапы, для каждого этапа выработаны свои подходы и тд.

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

AntonI ★★★★★
()
Ответ на: комментарий от anonymous

Опять этот полу-умный флудит

Да не оценивал я тебя. Я конкретно, прорыв есть? Я вот вижу усугубление костылей. Оно держится до поры новых форматов. А пока мы на счётах, быстрых, да.

modest
() автор топика
Последнее исправление: modest (всего исправлений: 1)
Ответ на: комментарий от AntonI

за 60 лет разработка стала серьезной индустрией

она и была. Ты не туда смотришь, bell labs, Plan9, Haskell стандартизировался. Смотри, коробочки с ID теперь каждый носит. Можно с помощью коробочки что-то делать? Только единицы используют мобильные устройства для управления, у других не то что денег, задач таких нет. Нет тех грамотности.

При этом новые технологии ориентированы на упрощение командной работы и снижение порога вхождения для разработчиков.

И кадровый голод, ага. Вот ты на числодробилке, а вчера ко мне подвалил джава джун, хочет бек писать. Я не запрещаю, только это даже не джун, а вырванный из контекста парень, знающий немного синтаксис Java. Грамотности даже в потреблении - ноль. И куда его тянуть такого, когда у него просто нет представлений? Я немного о книгах заикнулся, видосы там. Для него это дичь! Зато хочет банковские прикладухи(зп).

modest
() автор топика
Ответ на: комментарий от modest

она и была

60 лет назад? Нет конечно. Тогла компьютеррв было мало и че как разрабатывать было просто непонятно.

Мобильный девайс это связь+развлечения+какие то дела (бургер заказать или в банк зайти и денег кинуть). Какое управление, о чем ты? У 99% людей просто нет таких задач в жизни…

Зпхочет джун - разберется.

AntonI ★★★★★
()
Ответ на: комментарий от AntonI

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

Им это просто НЕ НУЖНО!
Им нужны БАБКИ!
И да, система налажена ВЕЛИКОЛЕПНО, как их делать.
Что касаемо направлений разработки корпораций, то здесь ВСЕ ПРОСТО!
Два миллиона ЛОХОВ хотят ведро на голову одевать, маску и ласты на на ноги?

Мы вам их дадим! ...

Владимир

anonymous
()
Ответ на: комментарий от anonymous

Два миллиона ЛОХОВ хотят ведро на голову одевать, маску и ласты на на ноги?

Кстати, это их Ахилесова пята! …

Владимир

anonymous
()
Ответ на: комментарий от AntonI

У 99% людей просто нет таких задач в жизни…

А я о чём? О незнании. Я вот имею общение с тем 1%, поверь, там всё по другому. Жалкое подобие - Сири, «умный дом» и прочее фастфудное.

Тогла компьютеррв было мало и че как разрабатывать было просто непонятно.

Очень понятно, очень многое разрабатывалось и разрабатывается.

modest
() автор топика
Ответ на: комментарий от AntonI

60 лет назад компьютеров были первые тымячи а из яп был фортран да алгол (тока появились).

Шутка

Это да.
Помнится еще собаке «Лайка» присвоили звание герой СССР …

anonymous
()

Автодополнение - зло?

В VAssistX все отлично.
Автодополнение у них вообще шикарное.
Вводиiь буквочку, ну две и оно в выпадающем окошке предлагает выбор ОЧЕНЬ АДЕКВАТНЫЙ /проще говоря ТО ЧТО НУЖНО/, …

Хорошее автодополнение - ХОРОШО, а бывает и - НЕ ОЧЕНЬ …

Для разработки использую Visual Studio.
Лучшая она или нет мне не известно.
Главное она + VAssistX на 100% покрывают все мои ХОТЕЛКИ …

Благодарю за внимание и желаю успехов в работе и счастья в личной жизни! ...

Владимир

anonymous
()
Ответ на: комментарий от BceM_IIpuBeT

которые генерируют машинный код, но это не значит, что нужно всё писать на ассемблере руками, ведь правда же?

anonymous
()
Ответ на: комментарий от AntonI

под фортран очень трудно найти квалифицированных разработчиков.

это проблема для большинства языков, в том числе (причём, не в последнюю очередь) для C++

anonymous
()
Ответ на: комментарий от AntonI

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

И тут вылезает один нюанс: метапрограммирование в C++ бы вызывало гораздо меньше блевотни, если бы не было написано на ортогональном основному языке.

anonymous
()
Ответ на: комментарий от modest

А еще кобол. Всем этим ЯП на тот момент было год-два, это ни о чем. До появления первыз версий ООП было 7 лет, до хоть какого внедрения ООП в массы 20ть. Лямбда исчисление еще не юзалось в программировании. Про ХР и речи не было. И далее по списку.

AntonI ★★★★★
()
Ответ на: комментарий от AntonI

Да что ты знаешь про ООП? То, что массы топили, так всегда топят за модно-молодёжно. ООП… Его придумал биолог, глядя в микроскоп на клетки. Он решил перевести взаимосвязь между клетками в программирование. Ну и во что пацаны его мутировали?

И лямбды юзались, почитай историю.

modest
() автор топика
Ответ на: комментарий от modest

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

AntonI ★★★★★
()
Последнее исправление: AntonI (всего исправлений: 1)
Ответ на: комментарий от AntonI

Если ты всерьез считаешь что с 1960г ничего нового в технологиях разработки не придумано

ну 60е это слишком, а вот с конца 70х - практически ничего, чисто навскидку

  • метапрограммирование: не позже 1963

  • модульность: ~ 1970

  • message passing: 1972

  • чистое фп: 1972-1973

  • TCO: 1977

  • вывод типов: не позже 1978

anonymous
()
Ответ на: комментарий от anonymous

Практически весь пласт веб-технологий появился в последние лет 20 наверное (я не специалист по вебне).

По компиляторам - колоссальный прогресс привязанный к железу.

По совместной разработке (юнит-тесты, распределенные системы контроля версий) - тоже относительно недавно.

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

AntonI ★★★★★
()
Ответ на: комментарий от anonymous

Речь шла о том, что многие УВЯЗЛИ ПО УШИ В ТЕХНОЛОГИЯХ шестидесятилетней давности.

Речь шла в основном о технологиях создания компиляторов и проектов.

Что касаемо алгоритмов, протоколов, … то разработано много хорошего API …

Владимир

anonymous
()
Ответ на: комментарий от anonymous

Что касаемо алгоритмов, то за последние 20ть лет разработано:

  1. много новых алгоритмов обработки изображений

  2. дофигища всего в области нейросетей

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

Это сходу, если не задумываться. В общем робяты, если вам кажется что за 60 лет в ИТ нет прогресса - боюсь дело не в прогрессе а лично в вас. Попробуйте сменить работу?

AntonI ★★★★★
()
Ответ на: комментарий от AntonI

В общем робяты, если вам кажется что за 60 лет в ИТ нет прогресса - боюсь дело не в прогрессе а лично в вас.

Агрессивный вы однако …

Владимир

anonymous
()

Как вы считаете, новичок или специалист средней руки при изучении нового ЯП, автодополнение помогает или является помехой?

Новичку не надо давать автодополнение, пусть понимает головой «как надо».

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

Наоборот лучше не делать

reprimand ★★★★★
()
Ответ на: комментарий от AntonI

Агрессивный вы однако …

Шутка

Но ДОБРЫЙ …

Другой бы застрелиться пожелал ...

Владимир

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.