LINUX.ORG.RU

Почему ООП стало более популярным и соответствующие языки и технологии программирования чем то же ФП?

 ,


2

4

Заранее прошу прощения за то, что не в Talks, а сюда. Так получается, что теперь в Talks просто так постить нельзя, нужна некая карма и я должен «страдать» (Почему я не могу писать в раздел Talks? (комментарий)). Я в упор не помню данные своего старого аккаунта. Зарабатывать карму здесь и сейчас у меня нет ни времени, ни возможности, ни необходимости. Почему сюда, а не на другие форумы? Потому что считаю, что здесь обитают люди, которые смогут ответить на вопросы ниже и, возможно, даже, которые застали те самые времена (если конечно те самые люди ещё здесь).

Всем доброго времени суток! Не срача ради, а понимания для. Хочется понять историчность и почему так произошло. Понятно, что сейчас уже стали внедрять функциональные фичи много куда (в те же Java, C++, C# и т.д.). Стало появляться много функциональных языков (в том числе совсем новых). Но почему спустя столько времени? Почему спрашиваю:
- Functional programming has its origins in lambda calculus, a formal system developed in the 1930s (!!!) to investigate computability, the Entscheidungsproblem, function definition, function application, and recursion. Many functional programming languages can be viewed as elaborations on the lambda calculus (отсюда: https://en.m.wikipedia.org/wiki/Functional_programming);
- Lisp появился ажно в 1958 году;
- после лиспа ещё была целая куча функциональных языков (APL, IPL, ML, Miranda, Erlang, etc.);
- C++ в 1985;
- Haskell в 1990;
- Java в 1995;

Сама идея ООП (и то я так понял весьма размытая, каждый понимал (и, кстати, по-моему до сих пор понимает) по-своему) вроде как витала со времени создания самого лиспа, но до конкретных реализаций она добралась ближе к концу 80-х - начала 90-х годов.
(поправьте меня, если не прав)
И это ещё при всём при том, что ФП имеет под собой весьма конкретный математический базис (чего я, пожалуй, не могу сказать про ООП).
Я так понял, что благодаря таким крупным компаниям как Microsoft, Oracle...
Но почему они так сильно повлияли на развитие этих технологий и как именно они это сделали я, честно говоря, не совсем понимаю.
Ок, ладно, тогда железо было не такое как сейчас, памяти было маловато для нормального существования функциональных языков на x86 платформе.
Но ведь была же та же, например, Symbolics, которая вроде бы весьма активно продавала лисп-машины?
Ок, Symbolics развалилась благодаря неблагоприятному стечению обстоятельств и «эффективным» манагерам, но их наработки оказались никому не нужны что ли?
И опять-таки, когда нужное железо появилось почему выбор этих и других крупных компаний пал именно на эти языки?
Почему не на функциональные языки?
Потому что в то время функциональные языки в основном использовались сугубо в академической среде или как?
Или если перефразировать всё вышесказанное словами моего коллеги: «если всё так круто (про ФП), то почему оно ещё не захватило рынок?»

Смешно читать, когда некоторые личности говорят про каких-то «академиков, оторванных от реальности». Это какой-то комплекс неполноценности среди программистов после университетского курса матана?

Вообще всю тему можно использовать как иллюстрацию к этой статье: https://ru.wikipedia.org/wiki/Список_когнитивных_искажений

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

лучше б ты привел ссылку на список софта, разработанного академиками.

понтуешься матаном, как будто ты сам его придумал.

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

лучше б ты привел ссылку на список софта, разработанного академиками

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

Во-первых, у меня слово «академик» в кавычках, потому что некоторые здесь явно не знают его значения. Хочу лишь напомнить, что не все учёные — академики.

Во-вторых, сначала придумывают себе врага «академика», потом борются с ним всеми силами, а затем ещё и просят ссылки на софт, который разработал их выдуманный «академик». Кто выдумал этого «академика», тот пусть и приводит тебе ссылки.

В-третьих, противопоставление «академик—программист» — типичный пример дихотомического мышления — тупое и ущербное.

В-четвёртых; Кнут, Дейкстра, Макилрой, Вольфрам, Моулер, Майерс, Александреску и т. д. — все PhD. Они академики или программисты?

понтуешься матаном, как будто ты сам его придумал.

Оставь свои проекции при себе.

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

Я думаю у них травма от ветхих дедов из пост-совковых универов, которые лет 20 занимаются псевдонаукой и им это сходит с рук из-за непоотчетности системы образования за реальные результаты применения их исследований в индустрии

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

они академики в смысле Августина - вне зависbмости от того что все тобой перечисленные phD (при этом не медиции, не юрии, не теологи, а отчего-то филомудрии)

Во-первых, у меня слово «академик» в кавычках, потому что некоторые здесь явно не знают его значения. Хочу лишь напомнить, что не все учёные — академики.

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

лучше б ты привел ссылку на список софта, разработанного академиками.

Весь софт: от браузеров и ЯП, до ОС. Автор сишки Dennis Ritchie - PhD, вся core team wasm'а - с PhD, Торвальдс - MS, но среди контрибьюторов много PhD, автор Scala - PhD. В общем, они повсюду.

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

Смешно читать, когда некоторые личности говорят про каких-то «академиков, оторванных от реальности». Это какой-то комплекс неполноценности среди программистов после университетского курса матана?

У меня по университетскому матану была пятерка.

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

В этом проблема многих академиков, и я в этих ситуациях сам был: необходимо периодически прогибаться и лизать очко, чтобы сохранять/повышать свою позицию и завоевывать расположение разношерстного начальства. Десять академиков сказали «строить индустрию на классово-ориентированной концепции - это бред», десять сказали «ООП имеет перспективы», а Страуструп сказал «знаете, не стоит ограничиваться одной концепцией, давайте пусть все окажутся правыми и никто не будет обижен» - он просто решил проблему кабинетной грызни, за что его и короновали. Стоит ли винить человека за какое-то «его» мнение, когда у него самого своих мнений толком и нету? А если и есть - он все равно не выскажет их.

Алан Кэй аналогичным образом не был согласен с использованием наследования, но и не возмущался - за что, опять таки, был коронован изобретателем ООП, которое, на самом деле, не имеет отношения к тем идеям, которые он сам преследовал.

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

В-четвёртых; Кнут, Дейкстра, Макилрой, Вольфрам, Моулер, Майерс, Александреску и т. д. — все PhD. Они академики или программисты?

Знаешь, у нас в школе висел плакат, который я до сих пор не забываю - настолько он зацепил меня. Там была нарисована пирамида: «Задатки. Способности. Одаренность. Талант. Гениальность» - снизу вверх, от самой широкой до самой узкой. Суть это пирамиды я понял сильно позже: дети, которые с рождения имеют задатки, оказываются покалеченными родителями, не имеющими никаких педагогических способностей, и детсадами, которые в большинстве наполнены педагогами-неудачниками - лишь часть из детей к школе приходит со способностями; в школе способности заменяются однообразным мышлением и подчинением авторитету - небольшая часть из способностей развивается в одаренность; человек выходит из школы, где его ждет либо институт, либо работа, которые в большинстве случае успешно справляются с задачей уничтожения одаренности, и крошечная доля спустя годы выходит с талантом. Если это горстка одиночек сможет развивать свои таланты, то они станут гениальностью.

О чем это я? Кнут, Дейкстра, Вирт, Хоар, Кэй - они прошли эту полосу с препятствиями, которую многие пройти не сумели. Этот опыт не прошел для них бесследно - их ум усеян шрамами, воспоминаниями о бессонных ночах в окопах и о погибших в этом бою товарищей. Они - исключения, а не правило. Правило же - это кабинетная крыса, которая помнит всё, через что ей пришлось пройти, и ждет справедливого вознаграждения. Судить, кто из них программист, кто - теоретик, а кто тупо отыгрывает роль менеджера - я не буду, тем более, что четкого разграничения нет.

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

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

Теперь более-менее понятно, что к «академикам» (будем считать, что это люди из академической, или университетской, среды) у тебя претензий нет и быть не может, потому что ты сам понимаешь, что среди «академиков» существуют разные мнения и взгляды. Тот же Страуструп по этому определению — «академик», ведь он PhD.

у меня нет наград и на моем авторитете не держится целая индустрия

Проблема давящего авторитета иногда имеет место, согласен, но умение Страуструпа говорить аккуратно может быть признаком хорошего воспитания или понимания, что не всё так просто в этом мире, чтобы выносить безапелляционные вердикты.

Стоит ли винить человека за какое-то «его» мнение, когда у него самого своих мнений толком и нету?

Не все мыслят крайностями. Это вовсе не признак отсутствия своего мнения.

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

Суть это пирамиды я понял сильно позже:

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

Вообще мой жизненный опыт показывает, что талантливые люди без проблем преодолевают описанные тобою «трудности» (это, конечно, не означает, что им этот процесс нравится и что они не указывают на конкретные проблемы системы образования) и, как правило, не ищут виноватых в своих бедах, потому что состоялись; поиском же виноватых обычно занимаются люди, которые считают, что они очень талантливы, но вся система образования встала против них и загубила юного гения, а ведь такой одарённый был: ещё в детском саду складывал книги в столбики до потолка. Однако это мой жизненный опыт, а как там на самом деле, никто не знает скорее всего.

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

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

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

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

Советую всё же прочитать статью о когнитивных искажениях.

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

В этом и смысл.

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

У тебя в обоих постах проекция на проекции: свой жизненный опыт ты пытаешься натянуть на других людей, у которых была совершенно другая жизнь

У нас сегодня на планету других людей еще не завезли. Ими движет всё та жа властность, всё тот же страх, всё та же иллюзия отделенности от мира и безостановочной борьбы с природой.

Если тебе есть что сказать по теме, если ты приведешь старика-профессора, который участвовал в том процессе изнутри - мы будем рады услышать. Хоар работал в совке, например - кто-то же работал с ним?

Вместо этого я слышу лишь «ну я сомневаюсь». И чо дальше? Сомневайся. Только не здесь, пожалуйста - и так тред уже засрали сильно.

ты сам понимаешь, что среди «академиков» существуют разные мнения и взгляды. Тот же Страуструп по этому определению — «академик», ведь он PhD.
умение Страуструпа говорить аккуратно может быть признаком хорошего воспитания или понимания, что не всё так просто в этом мире, чтобы выносить безапелляционные вердикты.

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

Не все мыслят крайностями. Это вовсе не признак отсутствия своего мнения.

Ты хочешь сказать, что Страуструп - хитрец и лицемер? Интересная позиция, мне нравится.

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

Большинство людей не имеет задатков

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

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

Я, например, в 6 лет выучился ездить на велосипеде второй раз сев на него. Я не стал канатаходцем, зато мне очень неприятно ездить в автобусах - укачивает. Как мои способности могли быть развиты в обычной школе? Да никак - задачи развития способностей в школе никогда не стояло. Задо подход «всех под одну гребенку» гарантирует, что абсолютное большинство не сможет в рамках школы развить свои способности.

мой жизненный опыт показывает, что талантливые люди без проблем преодолевают описанные тобою «трудности» и, как правило, не ищут виноватых в своих бедах, потому что состоялись

https://ru.wikipedia.org/wiki/Систематическая_ошибка_выжившего
Талантливые люди, которые этого не делали, не стали «талантливыми» в твоих глаза, не смогли преодолеть преграды.

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

Я просто говорю про причины и следствия. Можешь не называть это виноватыми - ради бога. Я просто противостою позиции восторженных говноедов, которые готовы называть привычные им вещи «самым лучшим, что придумало человечество».

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

Вообще мой жизненный опыт показывает, что талантливые люди без проблем преодолевают описанные тобою «трудности» (это, конечно, не означает, что им этот процесс нравится и что они не указывают на конкретные проблемы системы образования) и, как правило, не ищут виноватых в своих бедах, потому что состоялись; поиском же виноватых обычно занимаются люди, которые считают, что они очень талантливы, но вся система образования встала против них и загубила юного гения, а ведь такой одарённый был: ещё в детском саду складывал книги в столбики до потолка. Однако это мой жизненный опыт, а как там на самом деле, никто не знает скорее всего.

Мой жизненный опыт подсказывает, что бездарности, такие как полковник Дмитрий Захарченко или художник Шилов тоже виноватых в своих бедах не ищут. Потому, что у них бед нет. Поиском виноватых занимаются всегда те, кто считает, что недополучил своё, правы они или нет.

как правило, не ищут виноватых в своих бедах

Пушкин, Достоевский, Толстой... все классические русские писатели, возможно даже без исключения называли виноватых в своих бедах: в основном царя и окружение. Наверное, были недостаточно талантливы.

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

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

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

И опять проекции.

Хоар работал в совке, например - кто-то же работал с ним?

Работал — громко сказано, скорее съездил поучиться на год по обмену. Сам Хоар писал, что разработал алгоритм сортировки «in my little room in Moscow State University».

Вместо этого я слышу лишь «ну я сомневаюсь».

Видимо, ты слышишь лишь то, что хочешь услышать.

Ты хочешь сказать, что Страуструп - хитрец и лицемер?

Что называется, из огня да в полымя.

По поводу второго поста. Наши взгляды на мир, людей и талант необъяснимо разные.

Большинство детей имеют талант с рождения.

Талант, на то и талант, что обладает им редкий человек. Ничего особенного в детской повышенной обучаемости тоже нет, к таланту это отношения не имеет. Я, например, в детстве вообще был необучаемый (inb4: ты и сейчас необучаемый), и лишь после 16 лет начался какой-то прогресс.

https://ru.wikipedia.org/wiki/Систематическая_ошибка_выжившего

Хорошая попытка, но нет. Как ты дальше и написал, под моё определение таланта не попадают люди, не смогшие пройти через многие преграды. Если не смогли пройти, несмотря на все задатки, значит, не такие уж и талантливые.

Я просто противостою позиции восторженных говноедов, которые готовы называть привычные им вещи «самым лучшим, что придумало человечество».

В их узеньком мирке, возможно, это действительно «самое лучшее, что придумало человечество».

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

Мой жизненный опыт подсказывает, что бездарности, такие как полковник Дмитрий Захарченко или художник Шилов тоже виноватых в своих бедах не ищут.

Если ты внимательно прочитаешь, что́ я написал, то поймёшь: это никак не противоречит моему жизненному опыту.

все классические русские писатели, возможно даже без исключения называли виноватых в своих бедах: в основном царя и окружение. Наверное, были недостаточно талантливы.

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

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

Если ты внимательно прочитаешь

так и сделал и в словах

талантливые люди без проблем преодолевают описанные тобою «трудности»

обнаружил «ошибку выжившего»

«мой жизненный опыт»

я сомневаюсь, что вам по пути встречалось много талантливых людей хотя бы национального уровня, не говоря о мировом

и «как правило»

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

выдумать некую категорию людей и винить её без указания конкретных личностей

вы только что описали суть классической русской литературы - сплошь собирательные образы отрицательных персонажей

назвать конкретных виновников

у нас тут жёлтая пресса или технический форум?

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

обнаружил «ошибку выжившего»

Уже отвечал:

https://ru.wikipedia.org/wiki/Систематическая_ошибка_выжившего

Хорошая попытка, но нет. Как ты дальше и написал, под моё определение таланта не попадают люди, не смогшие пройти через многие преграды. Если не смогли пройти, несмотря на все задатки, значит, не такие уж и талантливые.

я сомневаюсь, что вам по пути встречалось много талантливых людей хотя бы национального уровня, не говоря о мировом

Ваше право.

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

К сожалению. Мы всё-таки на каких-то разных уровнях ведём беседу и понять друг друга у нас не получается, поэтому приходится постоянно раскрывать мысль, а это нудно, долго и, как верно, заметили «не по теме». Всё же немного раскрою мысль. Ты попытался привести пример, противоречащий моим словам, но из-за непонимания мною написанного привёл пример, подтверждающий мою позицию: эти художники творили, несмотря на все трудности, а не останавливались, именно поэтому они талантливые, именно поэтому умирали в нищите; в противовес тем, кто остановился перед жизненными преградами.

вы только что описали суть классической русской литературы - сплошь собирательные образы отрицательных персонажей

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

у нас тут жёлтая пресса или технический форум?

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

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

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

Я не упёртый - я долгоиграющий. Ты уже устал, а я - только размялся, расчехлил мозги.

Талант, на то и талант, что обладает им редкий человек.

Словарное определение слова «талант» не содержит в себе условий редкости. Гениальность - да, уже содержит, но у нас до гениальности было еще много шагов. Напомню словарное определение:

Тала́нт — выдающиеся способности человека, проявляемые в определённой сфере деятельности, позволяющие на основе принятия нестандартных решений добиваться высоких результатов

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

Одаренность еще меньше ограничивает:

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

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

Как ты дальше и написал, под моё определение таланта не попадают люди, не смогшие пройти через многие преграды.

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

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

эти художники творили, несмотря на все трудности, а не останавливались, именно поэтому они талантливые, именно поэтому умирали в нищите; в противовес тем, кто остановился перед жизненными преградами.

Напоминаю твои слова:

Вообще мой жизненный опыт показывает, что талантливые люди без проблем преодолевают описанные тобою «трудности»

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

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

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

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

Проблема была в том, что ты не мог стать програмистом, не будучи академиком или военным.

Очередные детские фантазии. В начале 60х США осознали, что у них нет космической отрасли и вся декада была посвящена её созданию. Выделялись гранты на подготовку учёных и инженеров, которые воплотят фантазии учёных в реальность. В 70х же, когда гонка за Луну была выиграла, куча готовых инженеров оказалась не нужна и они нашли свое место в развивающейся индустрии разработки ПО. Оттуда и корни инженерной дисциплины.

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

прикольный ваш световой конус

впк и выхлопа в виде того же Столмана в вашем пространстве события не было.

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

Сильное утверждение, но, как и то, на которое я отвечал, не соответствует действительности.

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

ваше последнее так же истино на вашем предпоследнем

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

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

Два индивидуальных учителя. Полная невозможность чего-либо получить самостоятельно. К примеру снять портки чтоб посрать. Только вербальные просьбы. Ну и никаких взрослых забот.

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

Два индивидуальных учителя. Полная невозможность чего-либо получить самостоятельно. К примеру снять портки чтоб посрать. Только вербальные просьбы. Ну и никаких взрослых забот.

Полиглоты, по-твоему, не могут ничего получить самостоятельно, в том числе посрать? Дети растут в совершенно разных условиях, и несмотря на эти условия почти все осваивают язык - разница только в том, какое качество будет у этого языка: будет ли чистый язык, суржик, нигерский акцент, невыговаривание «р», и так далее. А всё, что могут взрослые на это ответить «мне яйца мешают, потому-то я и не могу позволить себе выучить язык».

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

ИМХНО /sorry повторюсь/ каждому человеку Бог даровал таланты /и не один/.
К сожалению люди идут «своим путем».
Прирожденный оперный певец разрабатывает «компиляторы», а программист становится «оперным певцом».

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

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

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

Всё ж примитивно. Чтоб аргументировано утверждать что дело только в «детской талантливости», нужно убрать другие отличие. Я перечислил важные по моему мнению.

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

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

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

Разговор шел о том, что обычные учебные заведения зарывают эту одаренность в землю, штампуя рабов для нужд тех, кто эти учебные заведения спонсирует. Например, за годы вне учебных заведений, в которых я провел полжизни, я выучил английский хуже, чем за годы после них. Сейчас, имея довольно солидный уровень и оглядываясь назад и анализируя, в чем же был затык, я могу с уверенностью сказать, что способ подачи в школе и ВУЗ-ах такой, что даже при самом большом желании по этой программе ты не сможешь выучить язык, а если и выучишь - то только благодаря своим собственным занятиям. Сейчас я бы даже не написал на хорошую оценку школьную контрольную, хоть могу пересказать услышанную английскую речь, а большинство моих одноклассников не смогут двух слов на английском связать. Еще раз: школа и ВУЗ мешают изучать иностранные языки.

Java была создана для превращения кодеров в скот - еще Дейкстра заметил, что написание программ на Васике отупляет программистов. Это и был настоящий план менеджеров Sun, который, скорее всего, был придуман уже после создания самого языка, и который не имеет отношения к фантазиям создателя языка про «исполнение на каждом утюге» - именно эта роль сверхпортабельной жавы с треском провалилась. PHP уже начал завоевывать мир умственно отсталых кодеров с 1995 года, когда в Sun, наконец, поняли, что эту же роль может отыграть Java, если ей немного помочь. Java - это язык, который перегружен формальностями, который защищен от неожиданностей, что в итоге требует высокого уровня механической организации ума и низкий уровень творческого мышления. Таких людей очень любят в разных крупных фирмах - из них получается замечательный офисный планктон. В отличие от PHP, кодера на Java все-таки нужно дрессировать - спрос на пастухов довольно быстро был подхвачен, и развелась огромная туча пасторов, проповедующих те или иные догмы, которые без сомнения и без понимания подхватываются планктоном и используются в продакшене.

Именно поэтому, например, в гугле руководителями разработки на Java выступали лисперы, которые даже толком не умели на жаве писать. И именно поэтому гугл сделал ставку на Java: им категорически не нужны были сообразительные программисты - им нужны были исполнительные программисты, которые делают работу по своей специализации и не задают лишних вопросов.
Я напомню, что гугл был проектом NSA задолго до того, как обрел свое название.

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

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

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

Беззаботность? Скажешь, что какой-нибудь ученик 8-го класса имеет много забот по жизни? Или студент, который после пар каждый вечер приходит в общагу и начинает квасить? И так пока бабло не кончится.

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

Интересно, продолжайте.

Также вопрос: какие языки выбирают сообразительные программисты или какие языки делают программиста сообразительным?

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

Всё ж примитивно. Чтоб аргументировано утверждать что дело только в «детской талантливости», нужно убрать другие отличие. Я перечислил важные по моему мнению.

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

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

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

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

Лень впереди всего бежит.

Почему же тогда дети не сидят в офисах по 8 часов или не точат болванки у станков? По-твоему, так нужн осемь пядей во лбу для выполнения работы? Или какая-то особая физическая сила?

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

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

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

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

Почему же тогда дети не сидят в офисах по 8 часов или не точат болванки у станков?

Потому что они дети.
Вот когда они станут взрослыми, то тогда вступает в силу много факторов:
- лень;
- отсутствие воспитания;
- испорченный характер;
- ...
- и еще десятки факторов.

Вот к примеру, почему на форумах диалоги часто переходят на «личности»?

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

Вот когда они станут взрослыми, то тогда вступает в силу много факторов:
- лень;
- отсутствие воспитания;
- испорченный характер;
- ...
- и еще десятки факторов.

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

Вот к примеру, почему на форумах диалоги часто переходят на «личности»?

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

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

Но ты почему-то не хочешь связывать это симптомы со школой.

С школы только пару учителей и вспоминаются иногда /да и с ВУЗа/.
Здесь «замес» очень крутой.
Учитель может быть и хорошим, ... и да некоторые из них помогают детям прочувствовать, что «доброта» это хорошо.
Но детей окружает такой «замес» /надеюсь понятно о чем речь/, что они в многом разочаруются и более того.
Сейчас мы быстренько подойдем к обсуждению того, что такое «мораль» и что бывает с теми, кому «все дозволено».

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

Также вопрос: какие языки выбирают сообразительные программисты или какие языки делают программиста сообразительным?

Какая тебе разница, какие языки выбирают сообразительные программисты? Примерно как и «куда сообразительные программисты ездят в отпуск». Скажем так: если ты пишешь на каком-то Идрисе, то у тебя просто нет выбора - ты не можешь обложиться книжками про успешные приемы проектирования архитектуры, потому что таких книжек просто нету.

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

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

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

Но детей окружает такой «замес» /надеюсь понятно о чем речь/, что они в многом разочаруются и более того.

Совсем уже в оффтоп скатываемся, модеры достали мне уже карму резать. Коротко: да, про этот замес я уже который пост и пишу.

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

Совсем уже в оффтоп скатываемся,

Так форум то профильный ...
Чтобы модераторы «не сердились» вам, мне и другим «меру» нужно знать /мне правда проще/.

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

Позволю себе еще один /и пора меру знать/ коммент.
«Плохим стать не сложно, хорошим куда трудней».

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

Как это какая разница на чем пишут хорошие программисты, если в посте ты по сути сказал, что язык формирует человека.

Java была создана для превращения кодеров в скот.

Значит нужно изучать хорошие языки.
Хотя Джава не мешает писать хорошие программы. Скорее мешает что-то другое.

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

Как это какая разница на чем пишут хорошие программисты, если в посте ты по сути сказал, что язык формирует человека.

Это проблема курицы и яйца: окружение формирует человека, а человек формирует окружение. Искать, кто был первый и кто был виноват - неблагодарное дело: то ли человек случайно попал в некоторое окружение, то ли мама не хотела, то ли папа не старался, то ли всё это вместе. Я лишь хотел сказать, что механические исполнители тянутся к жаве, а жава поощряет механическое исполнение. Человек, может быть, и мог бы стать хорошим программистом, но вместо этого он пишет на жаве - потому что востребовано. Может он и хотел бы научиться чему-то, но не может, потому что он пишет на жаве и других вариантов на текущий момент не видит. И чтобы научиться говорить на английском языке, нужен кто-то, с кем он может общаться на английском - но вокруг люди говорят только на жаве. Ферштейн? Окружение сформировало человека и человек сформировал окружение. Разорви круг с любой стороны - сможешь выйти.

Хотя Джава не мешает писать хорошие программы. Скорее мешает что-то другое.

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

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

Инструмент решает очень много, он составляет половину успеха, а вторую половину - сам мастер, пользующийся инструментом.

Кармак и Линус вообще на сях писали и пишут, другого не признавали (хотя Кармак таки осилил cpp и сказал что некоторое его разумное подмножество не говно). А теперь вспомним как си убог, нету неймспейсов, перегрузки операторов и тем более паттерн матчинга, и тем не менее это инструмент суперзвезд которые двигают индустрию, они делают чудеса таким инструментом. Так что даже жаба не помешает хорошему разработчику, просто 90% разрабов это посредственности, обычные люди со средними способностями, я сам такой, но мне нравится писать код, я не вайтишник, даже если бы за эту работу не платили как платят сейчас скорее всего я бы стал программистом. Пишу на жабе за деньги, на котлин и тайпскрипт для себя. Хочу ли я чтоб моя команда перешла на котлин? Нет, я вижу как написан код проекта, вижу что во многих местах можно было написать на жабе лучше, но сделано как сделано, и язык с большим количеством абстракций не поможет, станет еще хуже потому что появится еще N новых способов сделать паршиво и нечитаемо.

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

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

Не не. Совершенно это Маугли или там слепоглухонемой. И таких детей должно быть значимое количество.

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

Давай разберем сказанное по частям.

Кармак и Линус вообще на сях писали и пишут, другого не признавали

Я уже описывал здесь это явление - это никсовые ретрограды. Это те самые люди, которые будут писать на баше с сями и в экосистеме юникса до последнего, даже если это уже неудобно, даже если создает кучу издержек. Здесь многие поклоняются Торвальдсу, но давайте посмотрим правде в глаза: при всех его высоких способностях к кодингу и оперированию сложными логическими сущностями, он - аутист, которому просто нравится пердолиться ради пердолинга, выкладывать пирамидки из сущностей как самоцель:
https://commons.wikimedia.org/wiki/File:Autism-stacking-cans_2nd_edit.jpg?use...
https://commons.wikimedia.org/wiki/File:Autistic-sweetiepie-boy-with-ducksina...
Торвальдса не просто не волнует кол-во ошибок, которое есть и будет в ядре вследствие использования низкоуровневого языка - его даже радует, что ему есть с чем пердолиться, что можно развлекаться отловом ошибки неправильного барьера памяти с шансом воспроизведения 1/10 000 000.

хотя Кармак таки осилил cpp и сказал что некоторое его разумное подмножество не говно

Я тоже это говорю. Но здесь есть люди, которые не согласны с игроделами, вроде Кармака или кого-то там из Unity.

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

Ком-пи-ля-тор. Двигает индустрию именно он, а не какие-то там суперзвезды. Сделай сверхоптимизирующий компилятор для паскаля - будут проекты на паскале, будет тебе квейк и юнити на паскале. Собсна, паскаль и получил распространение из-за того, что борланд сделал такой компилятор. Но на стыке веков у борланда возникли проблемы, и паскаль сдох: современные продукты Embarcadero пишут индусы за еду, а FPC довольно вяло разрабатывается.

Ну и Си - это всегда очень много багов. Работает быстро, работает глючно. У игроделов производительность находится в абсолютном приоритете, потому на баги забивают - просто отлаживают до минимального числа вылетов игры. Вспомни какие-нибудь Fallout или Stalker, в которых игровой мир более-менее сложен и сохраняем, а не просто грузятся с нуля заскриптованные отрывки лабиринта - потому ошибки накапливаются, и спустя эн часов в игре начинает происходить адовая дичь.

А теперь давай покажи мне шедевр на жаве? Ну же, хорошему разработчику даже жава не помешает, да? Майнкрафт? Вы в курсе, сколько эта хрень жрет оперативы? О да, жаба любит кушать память.

просто 90% разрабов это посредственности, обычные люди со средними способностями, я сам такой, но мне нравится писать код

А ты - оптимист. Я бы давал оценку 95-98%.

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

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

Справедливости ради нужно отметить, что инструменты разработки довольно сильно нивелируют ущербность Жавы: заставь кодера писать большой проект без IDE, на одном текстовом редактор, компиляторе, и примитивном отладчике - и кодер начнет выть от боли и унижения. И даже самые ярые защитники жавы скажут «нет, так писать код невозможно». Тот факт, что разработка жавы ведется только с IDE, говорит о том, что JVM, может, и хороша, но сам язык никуда не годится.

Пишу на жабе за деньги, на котлин и тайпскрипт для себя

А я на Делфи писал за деньги. Но я не строю никаких иллюзий по этому поводу - оно меня вполне ощутимо разлагало. Особенно разлагали отбитые наглухо коллеги, которые являются целевой аудиторией сего средства разработки. Идея Object Pascal была изначально провальна как инструмент, но успешна коммерчески - по крайней мере в конце 80-х и в 90-х. Настоящий наследник паскаля - это Rust, пусть и опосредовано. Я имею в виду строгую типизацию указателей на фоне ручной работы с памятью.

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

Совершенно это Маугли или там слепоглухонемой. И таких детей должно быть значимое количество.

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

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

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

Возможно стоит сходить и рассказать о планах джавистов, и всем таком

А ты, я смотрю, там не был. Там есть много поехавших, и это не пациенты.

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

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

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

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

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

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

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

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

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

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

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

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

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

Я не понял смысла запроса. Имеется в виду, что я должен предоставить какой-то эксперимент, где поголовно все обученные дети добивались больших успехов? Я тебе больше скажу - мне удалось однажды пообщаться с очень известным вам человеком, правда, на тот момент я не знал, кто он (чисто случайно получилось). Дети в семье поголовно хорошо интеллектуально развиты, просто один из них стал еще и известен на всем СНГ и за пределами. Мне удалось по крупицам собрать инфу об воспитании - оно серьезно отличается от того, через что проходит житель офиса. По понятным причинам эти детали не публичны, и я тоже не собираюсь их публиковать.

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

Еще есть некоторые школы/культуры, которые, грубо говоря, вместо 98% брака выпускают только 95%. Можно ещё меньше, но людям наверху это невыгодно.

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

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

Нет, Си безальтернативен в предметных областях, где они работают. У Линуса, грубо говоря, все языки делятся на «подходит для написания ядра» и «НЕ подходит для написания ядра». Ему, как правило, не интересны другие предметные области. Он писал «С++ не подходит потому, что ...», а как только понадобилось написать ПРИКЛАДНУЮ программу - взял С++ (хотя на самом деле Си с классами, но всё же) и Qt и написал программу. На инструменте, сделанном для этой предметной области, где его знания сишки были актуальны. Ну а то, что гит написал на сишке - гит низкоуровневый инструмент, он был как рыба в воде.

У Кармака пик карьеры пришёлся на зарождение геймдева под PC. С помощью хитрых оптимизаций на си (у него тогда не было современных компиляторов с крутыми оптимизациями) он обеспечил работоспособность продуктов на том железе. Только настоящий лоу левел позволяет нормально оптимизировать. Потом переметнулся в VR и что-то с ракетами, где требования к надёжности и максимальной производительности признают состоятельным только си.

он - аутист

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

которому просто нравится пердолиться ради пердолинга

Под это описание подходят все адепты малопопулярных ЯП. Используя твои аргументы, можно назвать всех адептов раста, хаскеля, лиспов... аутистами.

кол-во ошибок, которое есть и будет в ядре вследствие использования низкоуровневого языка

Прими разупорин, ядро можно писать ТОЛЬКО на лоулевел языке.

Ком-пи-ля-тор. Двигает индустрию именно он, а не какие-то там суперзвезды.

Не ставь телегу впереди лошади. Сначала пишут программы на подходящем ЯП, а потом уже пилят оптимизации для компилятора. Только зрелым продуктам нужно оптимизировать то, что уже неплохо работает. Если паскаль несостоятелен для определённых программ - никакой оптимизирующий компилятор не поможет. Разве что аггресивный маркетинг.

У игроделов производительность находится в абсолютном приоритете, потому на баги забивают - просто отлаживают до минимального числа вылетов игры.

У игроделов жёсткие дедлайны и бОльшая объективная сложность задач. Движок минимум на Си с классами, а как раз описание механик геймплея - как правило скриптуха (луа или велосипед). Глючит код, написанный геймдизайнерами на скриптухе, которые программистами себя не считают. Когда ошибка в коде на С++ - игра, как правило, вылетает. Действительно, месяц работать по 12+ часов в сутки - откуда могут быть баги?

Справедливости ради нужно отметить, что инструменты разработки довольно сильно нивелируют ущербность Жавы

Как раз Java и C# изначально проектировались на полную интеграцию с ide. Си с классами тоже ide-friendly.

А я на Делфи писал за деньги. Но я не строю никаких иллюзий по этому поводу - оно меня вполне ощутимо разлагало.

Чувствовать ущербность инструмента, с которым работаешь - хороший знак.

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

Ну а то, что гит написал на сишке - гит низкоуровневый инструмент, он был как рыба в воде.

Не, ты забываешь про вторую половину гит - это баш. Баш, потому что Линус ничего другого не умеет. Сравни какой-нибудь меркуриал, который написан на C+Python - вот это грамотный выбор инструментов.

Он писал «С++ не подходит потому, что ...», а как только понадобилось написать ПРИКЛАДНУЮ программу - взял С++ (хотя на самом деле Си с классами, но всё же) и Qt и написал программу.

Какую прикладную программу он писал на Qt?

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

Си, надежность - смешно, спасибо.

Под это описание подходят все адепты малопопулярных ЯП. Используя твои аргументы, можно назвать всех адептов раста, хаскеля, лиспов... аутистами.

Хаскель - да. Лисп, раст - нет, это вполне прагматичные языки.

Прими разупорин, ядро можно писать ТОЛЬКО на лоулевел языке.

Языки промежуточного уровня, как Си, Паскаль, Раст, и прочие - это довольно разноплановая категория, которая не ограничивается одним лишь Си. Пока вы думаете, я дам правильный ответ: Си выбран потому, что под него есть хорошие компиляторы и готовые решения. То есть, по инерции.

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

То есть, ты хочешь сказать, что на Си пишут потому, что это такой простой, чистый, понятный, удобный язык, что на нем хочется писать снова и снова, не думая о каких-то оптимизациях на первых порах?

Глючит код, написанный геймдизайнерами на скриптухе, которые программистами себя не считают. Когда ошибка в коде на С++ - игра, как правило, вылетает.

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

Действительно, месяц работать по 12+ часов в сутки - откуда могут быть баги?

Баги будут всегда. Хоть ты будешь работать по 12+ часов, хоть 2 часа в день и тщательно анализировуешь код - все равно в достаточно большом проекте будут ошибки, просто их будет меньше.

Как раз Java и C# изначально проектировались на полную интеграцию с ide. Си с классами тоже ide-friendly.

Так почему же их не было ни при Oak, ни при релизе Java в 1995? Почему же потом появились только отдельные инструменты, а первую IDE начали делать чехи в 1996 году с пре-релизом в 1997 году? В Visual Age поддержку Java только в 1997 году сделали, где-то в то же время переделали и VisualAge со Smalltalk на Java. Это при том, что Oak разрабатывался с 1991 года! Это была очевидная реакция на популярность языка. Что делал в это время Sun в плане IDE для языка, который разрабатывался для IDE? Ничего. Sun запрыгнул в уже едущий поезд, приобретя в 1999 году Xelfi, он же NetBeans. Очевидно, Sun сам не знал, что проектировал Java на полную интеграцию с IDE.

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

фактически заменить массовую школу у вас нечем

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

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

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

они сами себя и погружают в другую языковую (а для него самого, похоже — метаязыковую) среду.

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

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

в общем, везде подобные книжки «как изучить себе новый язык» сходятся в одном: практически работает метод погружения, когда вместо суржика и нескольких языков одновременно что-то в голове переключается на какой-то один язык всё время погружения (другой чем нативный) и создание для себя такой «языковой среды» и её освоения (общаясь с носителями, смотря фильмы без перевода или с субтитрами, читая худло или техно литературу по теме и т.п.)

среда такая в любом случае создаётся, даже интуитивно.

школа и ВУЗ мешает изучать ин.яз.

ну не знаю, я билингва/трилингва с детства, лет с 5 третий язык. в школе опять же третий инглиш более подробнее, где-то с третьего класса. вырезали из бумаги квадратики, треугольничики, круги (подлежащие/сказуемые/ит.п., Verb/Subject/Object), выкладывали их в нужном порядке, рисовали схемки для утвердительных/вопросительных и т.п. предложений, запоминалось очень наглядно. потом аудирование в слух, 2-3 часа только на инглише. потом параллельно для себя учил немецкий, японский, китайский. скажу так, изучение инглиша первым иностранным после двух нативных помогло изучению второго немецкого (который даже проще, просто произносить мозголомнее), и наоборот.

потом в ВУЗе тоже было получше upper immediate. по обмену ездили. в общем, не сказал бы, что учили плохо. везде в основном был метод погружения, когда тебя кидают в «языковую среду» и общайся только в ней, только на одном языке чтобы языки не путать и в суржик не скатываться.

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

да, с языками программирования я тоже полиглот.

Почему-то это получается у почти всех детей, но получается плохо почти у всех взрослых.

просто они изучают неправильно, ненаглядно, запутанно. вот и результат — плохо.

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

. Я лишь хотел сказать, что механические исполнители тянутся к жаве, а жава поощряет механическое исполнение. Человек, может быть, и мог бы стать хорошим программистом, но вместо этого он пишет на жаве - потому что востребовано. Может он и хотел бы научиться чему-то, но не может, потому что он пишет на жаве и других вариантов на текущий момент не видит. И чтобы научиться говорить на английском языке, нужен кто-то, с кем он может общаться на английском - но вокруг люди говорят только на жаве. Ферштейн? Окружение сформировало человека и человек сформировал окружение. Разорви круг с любой стороны - сможешь выйти.

> Java была создана для превращения кодеров в скот.

Значит нужно изучать хорошие языки.
Хотя Джава не мешает писать хорошие программы. Скорее мешает что-то другое.

а по-моему, «программеров», неспособных изучить Java/Basic/1C/Python/C и далее по списку нужно дисквалифицировать как профнепригодных.

потому что языки-то не сложные, и человек который не может выучить условный бейсик или там объектно-ориентированный бейсик типа питона/явы/PHP вообще мало что может выучить.

и если уж на таком условном бейсике не может написать нечто полезное — невозбранно достигнув желаемого, то это не из-за того что язык сложный (он ни разу не сложный), и не из-за того что библиотеки и батарейки с инфраструктурой сложно освоить (вообще запросто).

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

сложность написания реального кода на Java/1C/Python/далее по списку — это скорее понимание предметной области и известных популярных фреймворков/конфигураций/батареек, а не самих конструкций языка, который ни разу не сложный.

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

ну это типа писать лонгфеллоу на simple english. java и есть такой simple english.

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

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

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

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

просто они изучают неправильно, ненаглядно, запутанно. вот и результат — плохо.

Почти это я и имел в виду, когда писал

школа и ВУЗ мешает изучать ин.яз.

Может быть каким-то чудом тебя отдали туда, где люди действительно умеют обучать языку - но я сомневаюсь, что это был единственный фактор твоего успеха. А вот в том, что большинство людей в среднем школе/ВУЗ-е никогда не выучит язык - уверен.

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

ВУЗ-е никогда не выучит язык

Да им некогда.

Знаете, что такое «ВУЗ» /ни к тому, что у вас образования нет/?
Знаете, что такое «общага»?

Далее мысль развивать не хочу - противно.

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

«программеров», неспособных изучить Java/Basic/1C/Python/C и далее по списку нужно дисквалифицировать как профнепригодных.

Давай не мешать языки в кучу. Писать на Васике или Питоне можно научить человека, который совершенно не знаком с программированием. Не получится это сделать только если человек совершенно необучаем - а таких много, на самом деле. Си - это тяжелый язык. Про 1С не скажу, а Java относительно проста сама по себе, но системы уже средней сложности на жаве читать довольно тяжело - именно потому какой-нибудь Бугаев и Голуб плавают на детсадовском уровне в сотни строк.

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

сложность написания реального кода на Java/1C/Python/далее по списку — это скорее понимание предметной области и известных популярных фреймворков/конфигураций/батареек, а не самих конструкций языка, который ни разу не сложный.

Вот. Это вопрос того, насколько язык дает возможности работать со сложной системой. Java этих возможностей не дает, тебе постоянно приходится ползать на низком уровне - потому создано столько языков на JVM, призванных заменить слишком неудобную Жаву. Ровно как возникли Java и C++ вместо Си - они были шагом в сторону более высоких абстракций.

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

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

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

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

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

Предпочитаю общаться с людьми на том языке, который они «понимают».

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

Воспитание, учеба, работа, ..., это все прежде всего анализ «духовности» людей и общества в целом.

Да. И это основная цель, по которой бьют при помощи воспитания, учебы, работы.

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

по которой бьют при помощи воспитания, учебы, работы.

«бьют» - запросто.
Что касается другого, то как «безграмотный» может научить «грамоте»?

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

как «безграмотный» может научить «грамоте»?

Это и есть одна из многих причин для того, чтобы понять «почему девочки в десять лет становятся мамами» и почему ... /можно томов 500 написать на вопрос «почему»/.

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

который написан на C+Python - вот это грамотный выбор инструментов.

То написание на си плохо, то теперь уже на си - хорошо, но вместе с питоном, а не башем.

Какую прикладную программу он писал на Qt?

https://github.com/torvalds/subsurface-for-dirk

Гуглится на раз-два.

Си, надежность - смешно, спасибо.

Имхо, в наса правильно организовали процессы. Говнокод сурово отсеивают + «писать программы для запуска космических ракет» - даже последний дурак знает, что туда идут одни из самых топовых специалистов, там жёсткий отбор и сразу настройка «писать надёжно», а не «успеть до дедлайна».

Лисп, раст - нет, это вполне прагматичные языки.

Что на них ценного и уникального написали?

То есть, ты хочешь сказать, что на Си пишут потому, что это такой простой, чистый, понятный, удобный язык

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

Баги будут всегда.

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

Почему же потом появились только отдельные инструменты

Значит, с джавой я погорячился. Язык оказался достаточно простым, чтобы запилить ide, «читающие мысли». А более мощный C# изначально проектировался, чтобы «писать и хвалить какая Visual Studio классная». Вендорлок, все дела. А Си с классами - простое (на уровне джавы) подмножество С++.

Я не должен помнить, что у меня есть какое-то возвращаемое значение, какие ресурсы я выделили, какие я не выделил - я просто пишу defer cleanup, и забываю про этот ресурс.

Царь уже ответил - gnuc с _cleanup_fclose_ FILE *f = NULL;, _cleanup_free_ char *p = NULL;. Сразу объявлено, как этот ресурс освободить. Компилятор заботится о том, чтобы сделать это при любом выходе из функции. А там, где такого нету - называет «это не си, а говно». Кстати, mingw такое тоже поддерживает.

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

А там, где такого нету - называет «это не си, а говно».

Ты всё препутал.

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

К тому же, данный клоун эникей и уровень знаний в сишке там в районе помойки. Он большинство примеров даже распарсить не сможет, не то что осознать.

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

У тебя есть ошибочная догма про необходимость школы.

И где многонациональный народ России будет изучать русский? В армии от сержанта.

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

То написание на си плохо, то теперь уже на си - хорошо, но вместе с питоном, а не башем.

Ты пишешь на крестах, но библиотека у тебя на сях - на чем в итоге у тебя получится продукт?
В Hg на Cи написана меньшая часть кода, а большая часть логики работает в питоне, который идеально подходит для задачи.
В то же время, баш ужасно подходит для сложных задач, потому пришлось много чего засовывать в хитросплетенный клубок кода на си, который дергается из баша. Один из результатов - заслуженное звание у git «самый сложный интерфейс среди систем управления версиями кода».

Какую прикладную программу он писал на Qt?

https://github.com/torvalds/subsurface-for-dirk
Гуглится на раз-два.

К сожалению, нет. Эту программу торвальдс написал на Си и GTK. Кто и когда ее переписывал на Qt - не знаю, с тех пор структура файлов в репозитории полностью изменилась.

Имхо, в наса правильно организовали процессы. Говнокод сурово отсеивают + «писать программы для запуска космических ракет» - даже последний дурак знает, что туда идут одни из самых топовых специалистов, там жёсткий отбор и сразу настройка «писать надёжно», а не «успеть до дедлайна».

Там нет никаких стимулов, вроде холодной войны или космической гонки, наса нынче - это вполне обычная контора, которая тот же питон использует, хоть и не на самих запускаемых аппаратах. Причем, на аппаратах предпочитают использовать старые программы на старом оборудовании вместо разработки новых. Например, THEMIS в 2007 летал на 8-битном Intel 8085, созданном в 1976 году, когда у НАСА еще было достойное финансирование. Когда у тебя девайсы на таком древнем оборудовании - у тебя не особо много вариантов для софта. Они, по сути, не разрабатывают технологии, а поддерживают их.

А видал пусковые комплексы для МКБР с 5-дюймовыми дискетами? Ядерный арсенал подобная участь постигла, и никаких разработок новых там не ведется.

Лисп, раст - нет, это вполне прагматичные языки.

Что на них ценного и уникального написали?

Объясняю. Что ценного и уникального написали на питоне? Ютьюб? Гугл? Но ты не видел ни строчки кода ютьюба или гугла, правильно? А, тем не менее, миллионы строчек кода написаны. Точно так же на лиспе делались огромные проекты под конечную задачу, но они не были опубликованы. Вот эта штука, например, была на лиспе сделана https://www.cleartrip.com/ Или вот эта https://en.wikipedia.org/wiki/Dynamic_Analysis_and_Replanning_Tool , или эта https://en.wikipedia.org/wiki/Mirai_(software). Но все эти системы в опенсорс не попали. В открытом же доступе остались только мелкие/средние библиотеки/фреймворки, которые нынче забываются в связи с переходом от CL на более современные диалекты.

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

То есть, ты хочешь сказать, что на Си пишут потому, что это такой простой, чистый, понятный, удобный язык

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

Разговор шел о том, что нам не важны готовые решения, нам не важен оптимизирующий компилятор - мы просто выбираем язык, который нам удобен, а потом уже когда-нибудь может быть будем оптимизировать. Тогда можешь мне пояснить, почему они писали не на фортране, не на коболе, не на крестах, не на паскале, не на лиспе, не на схеме - а на Си? Он настолько удобен, гибок, фундаменталенг, что с ним даже кресты не нужны? Может быть популяризаторы крестов вообще ничего не понимали в программировании? Зря создали язык - могли бы писать на Си всё, он же удобнее.
Про «внутренние механизмы работы прозрачны и понятно „как работает под капотом“» можно согласиться - правда, не ясно, почему Си, а не Ассемблер - вот где-где, а в нем уж точно всё понятно как устроено.

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

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

Разработка большой системы на Си подразумевает большой риск, потому, например, никакой банк не будет строить свою логику на Си, иначе весь банк рискует от дуновения ветра сорваться и упасть в пропасть. По этой причине в ответственных приложениях довольно долго применяли Кобол - он дает намного меньше неожиданностей, чем Си, хоть и тоже не отличается особой высокоуровневостью, казалось бы. Сколько космических аппаратов было потеряно из-за элементарнейших ошибок в программе?
https://ru.wikipedia.org/wiki/Маринер-1
https://en.wikipedia.org/wiki/Cluster_(spacecraft)
https://ru.wikipedia.org/wiki/Mars_Polar_Lander
https://ru.wikipedia.org/wiki/Mars_Climate_Orbiter
https://ru.wikipedia.org/wiki/Венера-3
https://www.businessinsider.com/nasa-voyager-probes-rocket-leak-computer-prob... - Оба вояжера живы, но поволноваться они заставили солидно. А сколько ошибок софта оказалось не удалось расследовать из-за недоступности/разрушения аппарата?

Язык оказался достаточно простым, чтобы запилить ide, «читающие мысли»

Ты хотел сказать «костыль, читающий мысли»? Язык программирования - это программа для транслятора, прежде всего, и транслятор должен читать мысли. Но очень скоро выяснилось, что без костылей писать на жаве просто невыносимо. Фактически можно говорить о том, что был создан совершенно новый инструмент разработки «Java+IDE». Ну, примерно как документ в MS Word - это не просто текст, это все-таки «MS Word+текст», они уже неотрывны. Для какого-нибудь Latex, однако, не нужно никакой IDE - он сам по себе является достаточно удобным инструментом. А вот Java не является достаточно удобным инструментом, потому для нее нужны дополнительные инструменты - костыли.

Царь уже ответил - gnuc с _cleanup_fclose_ FILE *f = NULL;, _cleanup_free_ char *p = NULL;

Ну вот же, другое дело. Правда, что ты будешь делать, когда в функции нужно будет вызывать cleanup только для выделенного ресурса или когда само высвобождение выдает ошибку - мне не совсем ясно. Сейчас функции высвобождения ресурсов реализованы как-то так:
systemd/src/basic/fd-util.c

int fclose_nointr(FILE *f) {
        assert(f);
        if (fclose(f) == 0)
                return 0;
        if (errno == EINTR)
                return 0;
        return -errno;
}
FILE* safe_fclose(FILE *f) {
        if (f) {
                PROTECT_ERRNO;
                assert_se(fclose_nointr(f) != -EBADF);
        }
        return NULL;
}

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

И где многонациональный народ России будет изучать русский? В армии от сержанта.

Я говорил, писал, и читал на русском до школы. Шах и мат!

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

Разработка большой системы на Си подразумевает большой риск, потому, например, никакой банк не будет строить свою логику на Си, иначе весь банк рискует от дуновения ветра сорваться и упасть в пропасть.

Опачки.

Небезызвестный Оракл - это незамутненная сишечка. Что там у нас в основе банковской и прочей деятельности связанной с контролем\учетом ?

Постгрес в качестве альтернативы? Ооок, но постгрес - тоже не питон, и даже мысли ни у кого не возникает.

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

На скриптоте пишется то, к чему требования, как к младенцу - ой, а кто это открыл наши глазоньки? ути-пуси какой хорошенький! кушатки будем?

Задач типа quick'n'dirty в банковской сфере (как впрочем и в любой другой) тоже хватает. Для задач такого рода какая-нибудь модная платформа - самое оно. Апатамушта там не надо изысков.

Что мы имеем с гуся. Ядро - си. БД - си. Обвязка - тут уже смотря какая, но если предсказуемо и без приключений - тоже си.

Остаются рюшечки. Но это уже хоть на чем, плюс-минус.

что ты будешь делать, когда в функции нужно будет вызывать cleanup только для выделенного ресурса или когда само высвобождение выдает ошибку - мне не совсем ясно

Никого не хочу обидеть, но писать на си - это не твое.

Финальное итого.

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

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

Небезызвестный Оракл - это незамутненная сишечка. Что там у нас в основе банковской и прочей деятельности связанной с контролем\учетом ?

Блин, ну оракель - это слишком тонко. Ты бы лучше вспомнил ОС, которые написаны на C/C++, и которые составляют основную угрозу для серьезных дядь. Базу данных-то можно изолировать, но как изолировать ОС, которая должна принимать данные по сети, читать-писать файлы? При этом, абсолютно все ОС - это дырявые друшлаги, в которых регулярно находят удаленное выполнение кода. И именно потому, что от них требуется высокая производительность - отсюда Asm/C/C++ и большое число багов.

Для решения этих проблем серьезные дяди, во-первых, используют оттестированные вдоль и поперек сторонние решения, как тот же оракл, а во-вторых, изолируют это стороннее решение от любых возмущений, не связанных с непосредствено возлагаемыми задачами. То есть, не вот эта твоя фантазия про «мы будем хорошими кодерами, тщательно спланируем архитектуру и будем безошибочно ее реализовывать», а более реалистичный подход «программа на Си точно будет иметь много ошибок - давайте попытаемся исправить большую их часть и устранить угрозу со стороны оставшейся меньшей части». Ты думаешь, зачем в оракле есть репликация? Можно же было сделать RAID-зеркала, и менять диски по мере их выхода из строя. Но нет, система на Си точно откажет - нужно иметь запасную машину, чтобы в любой момент можно было перезапустить один узел без остановки всей системы.

Что мы имеем с гуся. Ядро - си. БД - си. Обвязка - тут уже смотря какая, но если предсказуемо и без приключений - тоже си.

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

что ты будешь делать, когда в функции нужно будет вызывать cleanup только для выделенного ресурса или когда само высвобождение выдает ошибку - мне не совсем ясно

Никого не хочу обидеть, но писать на си - это не твое.

Ответ на мой вопрос где? Алгоритм станет таким же сложным, как и без cleanup атрибута. Но я написал, что фича годная - это намного лучше, чем ничего.

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

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

Вестник параллельной вселенной. Репликация данных нужна потому что си откажет? )

Жжошь напалмом.

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

Ответ на мой вопрос где?

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

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

Вестник параллельной вселенной. Репликация данных нужна потому что си откажет?

Тебе рассказать про системы на миллион строк кода с надежностью 99.999%? И не стоит путать избыточность, связанную с производительность, с избыточностью, вызванную низкой надежностью.

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

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

Как сказал бы царь (фейкоцарь? really?) в этом трэде - помножить на ноль. Я не покупаю тезис об априорной надежности всего-чего-угодно-кроме-си. Ну хотя бы просто потому, что эту херь многократно продавали до того, продают сейчас и будут еще многократно продавать потом. И все эти продажи приносят примерно тот же выхлоп покупателю, что и гербалайф.

Да, консервативная медицина консервативна, антибиотики это вам не эко-грин-смузи-лайт, но когда надо - работает.

Здоровья вам, берегите себя.

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

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

Ты о чем? Я тебе даже код привел конкретно реализации: «всё учтено» - это assert_se, который при отладке тебе сделает

log_assert(LOG_CRIT, text, file, line, func, "Assertion '%s' failed at %s:%u, function %s(). Aborting.");
abort();
а в релизе и вовсе ничего не сделает - как и положено обрабатывать ошибки в Си.

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

а в релизе и вовсе ничего не сделает - как и положено обрабатывать ошибки в Си.

Вечер перестает быть томным.

Ошибки в си обрабатываются так, как того требует задача. Как положили - так и положено. А не ассертами налево и направо.

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

Ошибки в си обрабатываются так, как того требует задача. Как положили - так и положено.

И как же ты собрался обрабатывать ошибки в сторонней либе? Ах да, ты же будешь писать каждую строчку своего приложения лично.

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

Ошибки в си обрабатываются так, как того требует задача. Как положили - так и положено.

И как же ты собрался обрабатывать ошибки в сторонней либе?

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

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

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

Видимо, у создателей systemd есть эти проблемы с работой, раз они так код пишут. А писали бы хорошо - не занимались бы такой ерундой, как systemd.

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

Видимо, у создателей systemd есть эти проблемы с работой, раз они так код пишут. А писали бы хорошо - не занимались бы такой ерундой, как systemd.

Не увлекаюсь systemd, однако рискну предположить, что таки да, ассерты там присутствуют. Да и вообще, ассерты конечно же используются в сишном коде. Внимание - вопрос. А для чего? Какую именно задачу решает ассерт?

Ээээ.... нувыпонели.

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

- Вы программист? На чем вы программируете? (на английском) - (низуя не понимая по английски, так как испанец, но на всякий случай и с улыбкой) Си, сеньор.

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

«Граф знает счет, на своем счету».

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

Вы программист? На чем вы программируете? Си, сеньор.

А чем может заниматься Си сеньор в 2019 году? Мне просто интересно, что я потерял, покинув кодинг на Си эн лет назад.

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

А чем может заниматься Си сеньор в 2019 году? Мне просто интересно, что я потерял, покинув кодинг на Си эн лет назад.

Хайперформанс, бигдата, особенно там где требуется предсказуемое поведение (включая предсказуемое потребление ресурсов), вся фигня. Геймдев, опять же. Много сишников в эмбеде, там своя специфика.

Да в принципе везде, где не катит закрыть вопрос быстро и грязно.

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

баш ужасно подходит для сложных задач

Согласен. Как бывший фанбой питона не пишу на баше даже простые условия и циклы. Только на питоне (если скрипт).

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

Это как раз стимулы для строжайших дедлайнов, которые мешают вдумчивой разработке. Аргумент «у них есть много древнего легаси - значит не делают новое» просто жесть. В это старьё УЖЕ вбухано куча денег, использование готовых компонентов помогает очень сильно сэкономить бюджет, который при «нет чрезвычайных стимулов» маловат по сравнению с прошлым (не забываем про инфляцию).

А, тем не менее, миллионы строчек кода написаны.

Про лисп убедительно. Питон вместе с перлом и башем занимают важное место в инфраструктуре линукса и не только. Много мелких полезных программ, которые надо часто и легко менять и темпы изменения требований не подходят под вдумчивую разработку на С/С++. А вот про раст нету примеров. Хотя Царь говорит, что ему 10 лет!

нам не важен оптимизирующий компилятор

Действительно согласился, что оптимизирующий компилятор - лишь следствие состоятельности сишки?

Тогда можешь мне пояснить, почему они писали не на фортране, не на коболе, не на крестах, не на паскале, не на лиспе, не на схеме - а на Си?

Значит, тогда он оказался состоятельнее других ЯП-современников (чем именно - я НЕ сишник). Ну и AT&T осилили создание расширяемой базы, а надстройки уже делали в привычной для ОС dev окружении.

Он настолько удобен, гибок, фундаменталенг, что с ним даже кресты не нужны?

Кресты имеют несколько «тяжёлых для рантайма» фич (exceptions, dynamic_cast, typeid...), которые сильно затрудняют контроль над программой на самом низком уровне. Что очень важно для системщины и ембедщины. А в прикладных программах С++ популярнее Си, хотя многие сишники не признают кресты из-за каких-то заморочек.

правда, не ясно, почему Си, а не Ассемблер

Везде пишут, что скорость разработки, переносимость, но не ограничивает в «спуске вниз».

человеком, идущим по канату над пропастью

Аналогия некорректна. Как раз реализация на си «в лоб» «падает от дуновения ветра». Реализация на си со всеми предосторожностями - это как раз сделать так, чтобы ни ураганы, ни метеориты, ни потопы не сломали «здание». Типа в питоне многие «укрепления» идут в комплекте, а на си нужно вручную всё укреплять.

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

С этим я согласен. Но она с пыхой и джсом прочно заняли нишу «ЯП, где кодеры легко заменимы». «Программы как продукт фабрики, а не продукт творчества».

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

Это как раз стимулы для строжайших дедлайнов, которые мешают вдумчивой разработке. Аргумент «у них есть много древнего легаси - значит не делают новое» просто жесть. В это старьё УЖЕ вбухано куча денег, использование готовых компонентов помогает очень сильно сэкономить бюджет, который при «нет чрезвычайных стимулов» маловат по сравнению с прошлым (не забываем про инфляцию).

Не, ты не понял сути аргумента. Я писал о том, что с тем оборудованием, с которым работает NASA, оно при самом большом желании не сможет использовать java/lisp/etc, кое-где разве что С++ удается применить. Когда у тебя настолько мало памяти и настолько низкая производительнотсь оборудования, то надежностью реализуют через «работает - не трогай», а не через использование более совершенных средств разработки: они не могут выбирать инструмент - им приходится использовать то, что есть.

А вот про раст нету примеров.

По расту нет примеров - я не спорю. У раста еще всё впереди - стабильная версия 4 года назад вышла.

нам не важен оптимизирующий компилятор

Действительно согласился, что оптимизирующий компилятор - лишь следствие состоятельности сишки?

Кто соглашался? Точно не я. Ты представляешь примерно, что значит разработка оптимизирующего компилятора? Это значит, что собирается несколько кодеров на асме с большим опытом и оплатой 10k$+, начинают искать и реализовывать алгоритмы преобразования медленных последовательностей из AST в быстрые коды; берется еще кучка тестеров, которые гоняют программы с разными вариантами оптимизаций и без оптимизаций, тестируют работу комбинаций разных оптимизаций - тестер такого плана тоже не из самых доступных на рынке; спустя эн лет разработки эта команда выкатывает компилятор для одной платформы, и этот компилятор обошелся в эн миллионов долларов.

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

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

Тогда можешь мне пояснить, почему они писали не на фортране, не на коболе, не на крестах, не на паскале, не на лиспе, не на схеме - а на Си?

Значит, тогда он оказался состоятельнее других ЯП-современников (чем именно - я НЕ сишник). Ну и AT&T осилили создание расширяемой базы, а надстройки уже делали в привычной для ОС dev окружении.

Ага, то есть, богу помолились, и бог им сказал «пишите на Си». Хорошо.

Кресты имеют несколько «тяжёлых для рантайма» фич (exceptions, dynamic_cast, typeid...), которые сильно затрудняют контроль над программой на самом низком уровне. Что очень важно для системщины и ембедщины. А в прикладных программах С++ популярнее Си, хотя многие сишники не признают кресты из-за каких-то заморочек.

Да без проблем - пиши без исключений, без рантайм фич. Сейчас вот почему-то на Си никто не пишет игры - видать, боженька забыл про этот язык.

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

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

Справедливости ради нужно отметить, что инструменты разработки довольно сильно нивелируют ущербность Жавы

Как раз Java и C# изначально проектировались на полную интеграцию с ide. Си с классами тоже ide-friendly.

Так почему же их не было ни при Oak, ни при релизе Java в 1995? Почему же потом появились только отдельные инструменты,

Значит, с джавой я погорячился. Язык оказался достаточно простым, чтобы запилить ide, «читающие мысли».

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

С этим я согласен. Но она с пыхой и джсом прочно заняли нишу «ЯП, где кодеры легко заменимы». «Программы как продукт фабрики, а не продукт творчества».

Да, IDE прекрасно встраивается в лейтмотив жавы: «максимум механических действий и работы лопатой - минимум творчества и принятия решений». Вот тебе книжка, вот тебе IDE, вот тебе безупречная архитектура, спроектированная сеньором - всё, теперь скажешь мамке, что ты - энтерпрайз.

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

Да, IDE прекрасно встраивается в лейтмотив жавы:

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

теперь скажешь мамке, что ты - энтерпрайз

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

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

Clojure, Swift, Rust в костылях не нуждаются? Можно перечень язык в программирование на которых IDE особого буста не даст?

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

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

Таки да, небоскреб невозможно построить в стиле «а давайте-ка вот сюда кирпичей нахерачим».

Из того, что условный Хуан не может в небоскребы никак не следует то, что ему нельзя участвовать в строительстве. И уж тем более не следует, что небоскреб невозможен.

Сейчас вот почему-то на Си никто не пишет игры

O,rlly?

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

А в прикладных программах

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

Два. Берем, запиливаем расчет многоэтажки один раз и потом запиливаем нужное нам количество курятников, с предсказуемой надежностью и сроком эксплуатации. Это выгодно и решает насущную проблему. (в основе платформы электрон, на которой реализована туева хуча всего лежит что? v8 одна штука, libuv одна штука и хром, который тоже не на питоне)

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

Три. Не все в этой жизни - сарай и массовое строительство.

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

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

Ниче-ниче, скоро школу закончишь - может быть узнаешь про такое языки, как фортран, кобол, паскаль, алгол 68, лисп, которые все прекрасно анализировались. Да-да, и в том числе лисп:
https://github.com/abo-abo/lispy
https://github.com/Wilfred/emacs-refactor
http://www.foldr.org/~michaelw/emacs/redshank/
Однако же, миллионы строк кода писали в CL на одном REPL. И почему-то ни в турбо паскале ( http://pascal.net.ru/Меню+Turbo+Pascal ), ни даже в делфи до самой семерки не было рефакторинга. Как же так, почему лишь только начав свое применение жаве сразу понадобились инструменты для работы с кодом, помимо текстового редактора и отладчика?

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

Да ладна? Это какие годы? У жавы в девяностые-ранние двухтысячные мусорщик такой монолит бы не потянул, а потом стало немодно делать монолиты на миллионы строк. Я не спорю, что сегфолты не являются проблемой у жавы - но за это была заплачена вполне конкретная цена.

Clojure, Swift, Rust в костылях не нуждаются? Можно перечень язык в программирование на которых IDE особого буста не даст?

Да, для Clojure IDE не нужен - нужен только REPL. Про Свифт точно ничего не скажу, а вот про Раст я тебе скажу, что по сути статический анализатор встроен в сам язык. Даст ли Расту буст какое-то IDE на большом проекте? Не знаю, но на расте работать текстовым редактором намного приятнее, чем на C/C++/Java.

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

Из того, что условный Хуан не может в небоскребы никак не следует то, что ему нельзя участвовать в строительстве. И уж тем более не следует, что небоскреб невозможен.

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

Сейчас вот почему-то на Си никто не пишет игры

O,rlly?

Прикинь?

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

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

Как и на чем взлетели юниксы? Протокол взаимодействия.

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

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

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

Прикинь?

Ты просто не в теме.

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

Как и на чем взлетели юниксы? Протокол взаимодействия.

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

Амазон-лямбда, которая запускает всякую левую херь, написанную неведомой ногой неведомого индуса, как работает?

И что ты можешь сделать на этой лямбде? Никакую достаточно сложную систему ты на ней не поднимешь, а если и поднимешь - это будет какой-нибудь контейнер на линуксе с возможностями, не ограниченными каким-то сторониими протоколами, и близкими к полноценной ОС.

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

У любой достаточно тесно связанной сложной системы кол-во протоколов и интерфейсов становится столь велико, что их самих становится тяжело поддерживать. У одного Firefox протоколов и интерфейсов больше, чем все RFC вместе взятые.

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

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

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

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

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

Я об этом и писал - так не получится написать большую интегрированную систему.

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

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

Не применяй критерии качества строительства сараев к инструменту для управления ракетами. В большинстве контор надёжность больше зависит от базовой надёжности ЯП+фреймворк. В случае сишки навыки разработчиков имеют гораздо большее значение потому, что есть полный контроль на всех уровнях. Софт для ракет требует верификации всего, там везде заранее «стелят солому». Там процессы разработки гораздо более комплексные, чем «ТЗ, написать код, тестировать». Они не по карману большинству кампаний.

Короче, надёжность скриптухи зависит от надёжности фундамента, на котором она стоит. Надёжность сишки - твоя голова и руки потому, что фундамент построен ТОБОЙ (ещё ядро в качестве фундамента, но только для прикладухи).

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

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

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

Кстати, раз llvm обречён догонять gcc, почему личный форк именно шланга, метапрограммирование в форке шланга, а не gcc?

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

Я читал, что Qt тоже отлично подходит для сараебилдинга.

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

В этом смысле Qt не рецепт. Он пытается выдать на гора максимум фичастости, оставляя базу неизменной. Прозрачненько.

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

Qt собсна нечего предложить. Меньшее потребление памяти и ресурсов процессора? Да кого это сейчас трясет. Предсказуемость поведения? Да щас. Либа то может и да, но вы ж выдали все инструменты кастрации разрабам верхнего уровня, а они не подведут.

Короче мое мелкое ИМХО - не взлетит. Хотя попытки есть, будут и будут есть.

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

Кстати, раз llvm обречён догонять gcc, почему личный форк именно шланга, метапрограммирование в форке шланга, а не gcc?

В этом вопросе, кстати, я не вполне согласен с предыдущим оратором.

В целом таки да, gcc рулит и педалит. Однако.

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

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

Так что пусть растут тысячи цветов. Лично я не возражаю.

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

Кстати, раз llvm обречён догонять gcc, почему личный форк именно шланга, метапрограммирование в форке шланга, а не gcc?

Ты задаёшь вопросы не мне, но ладно. Очевидно, что я бы его вообще не увидел.

Я тебе уже отвечал на этот вопрос, хотя ты, как оказалось, ничего не читал. А может я и не тебе отвечал. Вообщем, пацан выше правильно сказал. Шланг состоятелен не как компилятор, а как статический анализатор. Собственно - в этом единственная от него польза. Ну и польза ещё от wasm-таргета.

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

Ты задаёшь вопросы не мне, но ладно.

Модераторы регулярно трут твои посты, даже те, что без хамства и оскорблений. Мои ответы автоматом трут (на уровне движка ЛОРа, а не явного указания модератором) как «ответ на некорректное сообщение». Мне любопытно: потрут ли мои посты, если технически они

И то утверждение про «сараи на Qt» тоже было в твой адрес. Чтобы ты прокомментировал. Благо ключевые слова позволяют безошибочно отделять тебя от других анонимусов.

Кстати, когда созреешь на блог, где никто не будет удалять твои посты? За время, что ты провёл в этой теме, имхо, можно было написать хотя бы один большой, осмысленный и законченный пост. Ведь написание статей разбивается на куски проще, чем написание кода. Если бы я писал статьи, то в перерывах на 5 минут я набрасывал бы черновик.

Хостинги же не заморачиваются удалением сайтов неполиткорректных блогов? Если прямая агитация за ИГИЛ, то могут быстро стереть, но рассказы про сишку и критика методички растоадептов их (хостинги) не должны волновать. Лично убедился, что амазон даёт бесплатно на один год простой сервер, достаточный для небольшого (в плане посещаемости) блога хоть на вордпрессе, хоть на сишке - виртуалка с популярными серверными дистрибутивами на твой выбор. И так же бесплатно отдельный простой сервер с бд на твой выбор. Однако уже при регистрации нужно указать полный номер банковской карты. Но бесплатностью заманивают, как правило, shared хостинги, где только пхп.

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

Мне любопытно: потрут ли мои посты, если технически они

Если технически я отвечаю сам себе, а не «забаненному оппоненту».

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

Кстати, когда созреешь на блог, где никто не будет удалять твои посты? За время, что ты провёл в этой теме, имхо, можно было написать хотя бы один большой, осмысленный и законченный пост. Ведь написание статей разбивается на куски проще, чем написание кода. Если бы я писал статьи, то в перерывах на 5 минут я набрасывал бы черновик.

Нельзя написать за это время пост. К тому же - нужно не просто написать, а запилить блог. Это тоже время. Я всё никак не могу освободится с делами.

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

Лично убедился, что амазон даёт бесплатно на один год простой сервер, достаточный для небольшого (в плане посещаемости) блога хоть на вордпрессе, хоть на сишке - виртуалка с популярными серверными дистрибутивами на твой выбор.

Мне уже не даст у меня всё учётки стары, но дело не в этом. Я найду где хостить - мне лень этим заниматься. Я хочу попомйку на гугл-дрситне поднять.

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

В ближайшие дни попробуй запостить говно на какой-нибудь помойке. Нужно перебороть страх постить говно.

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

Гугл специально уничтожает нативное программирование гуя(и не только) под ведро. Эпл тоже самое - там вообще ты ничего не можешь.

Гугл как раз рекламирует свой flutter как платформу для нативного гуя и на андроиде, и даже на айос. Да, скриптуха dart, но вызывает нативные виджеты!

Что мешает Qt дёргать эти виджеты? Кроме желания продвигать qml. Всё сдк айфонов же базируется на llvm - C++-friendly, а андроидная жаба - на десктопе можно скомпилировать программы на джаве с помощью graalvm в .so, который можно дёргать из сишки. Увы, у андроида свой рантайм жабы. Всё равно можно было бы построить костыль вроде «сервера, дёргающего андроидные апи для создания виджетов на джаве» и прогаммы на си, которая через подходящий вариант ipc управляет этим сервером.

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

Да, IDE прекрасно встраивается в лейтмотив жавы: «максимум механических действий и работы лопатой - минимум творчества и принятия решений». Вот тебе книжка, вот тебе IDE, вот тебе безупречная архитектура, спроектированная сеньором - всё, теперь скажешь мамке, что ты - энтерпрайз.

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

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

написать реализацию на максимально производительном языке

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

Целесообразно ли жертвовать гарантиями? Да, когда их ценность много меньше ожидаемого профита.

Кошерно ли писать на жабе? На js? На пайтоне? Да пишите на чем хотите. Главное помнить из какой жопы растут ноги и адекватно оценивать возможности платформы.

Надо на js ОС запилить! - это речь вменяемого человека, не? Нежнее надо, и без фанатизма.

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

В ближайшие дни попробуй запостить говно на какой-нибудь помойке.

Главное сюда маякнуть не забудь.

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

Нет этого фанбойского налета и синдрома утенка

Не угадал. Я на сишке вообще ничего не писал. Первыми ЯП, которые я видел, были бейсик и паскаль, но я всерьёз их не воспринимаю. Как раз таки мой первый современный ЯП - джава. Потом C# (сначал юнити, а потом уже полноценный .Net Framework). Потом С++ в универе (сишники знают, что С++ в универе - это изучение синтаксиса Си с классами). Потом питон и js. Некоторое время я был фанбоем именно питона (за счёт быстрого написания и большой гибкости по сравнению с другой скриптухой). Это уже сейчас, после дискуссий с Царём, я проникся фундаментальностью сишки. А вообще я люблю писать только прикладуху, при этом вдумчиво и на скриптухе. Я только потихоньку изучаю С/С++.

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

Смотрел я на него. Имхо, какой-то примитивный. Получать сигнал о том, что нажата кнопка, через if - это жесть. Очень нишевое решение.

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

Модераторы регулярно трут твои посты

Да, и будут дальше тереть, если там будет сплошное «говно, методичка, маня, школьник» и т.д.

даже те, что без хамства и оскорблений.

Нет.

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

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

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

Однако это не отрицает то, что он нарушает правила форума в плане «как выражать мысли». Я не отрицаю, что модераторы выполняют свою работу, удаляя посты, которые нарушают правила форума.

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

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

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

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

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

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

У любого языка есть набор объективных плюсов и минусов, но то как тут расписывали минусы сишки - это хейтерство и некомпетентность.

Не потому что их нет, а потому что они не там.

На самом деле индустрия уже сказала свое слово. Бизнес-логика это жаба, фронтенд это вебстек, фундамент это С, алгоритмически сложные задачи - плюсы, прототипы - питон.

Да, поезда и самолеты - Ада, гуглософт го, а мозилла раст, но сути дела это не меняет. Никому не нужен «гораздо более совершенный» велосипед. Есть феррари с ламборджинями, есть бенли с майбахами и ролс-ройсами, и пусть они будут. Но массово нужен недорогой и надежный автомобиль, тчк.

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

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

Я не хочу строить из себя супер-специалиста. Я уже писал, что не писал код на сишке. Я оспаривал твои аргументы про сишку. Также я попал под влияние царя про фундаментальность сишки. Я писал немного прикладухи на С++, но это даже не уровень мидла. Я хочу изучить раст (вопреки рассказами царя, но его тезисы с тэгом «методичка» меня затронули) и углубить знания в С/С++. Но это не день и не месяц, так что пока я пишу логику на скриптухе (js, python).

Фундаментально ЛОР для меня нужен для того, чтобы «указали на ошибки и показали как надо». Лучше производить впечатление на противоположный пол, чем на анонимусов с форума.

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

Изучать язык - это значит писать на нем.

Лучше всего писать что-нибудь полезное, желательно в команде.

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

Кроме того, когда осознаешь удобства хорошо бы задаться вопросом - а какова цена реализации этих удобств на другом языке? Каким образом то или это могло бы быть реализовано на другом языке нативно, максимально близко к особенностям языка?

И вот тогда появится необходимая компетенция для сравнения.

Ту же джаву или тот же раст создали не просто так, а в надежде решить целые классы проблем. Хороший вопрос - а какие именно проблемы решали создатели языка? Можно ли было решить эти проблемы не изобретая новый язык, стоит ли овчинка выделки - на эти вопросы ответ можно получить только путем практического сравнения, на своей шкуре.

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

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