Языки, программы и так далее, Вынос из БН-800 |
Здравствуйте, гость ( Вход | Регистрация )
Языки, программы и так далее, Вынос из БН-800 |
3.12.2016, 12:39
Сообщение
#21
|
|
Ветеран форума Группа: Patrons Сообщений: 1 167 Регистрация: 3.1.2012 Из: Нижний Новгород Пользователь №: 33 533 |
по читаемости возможно. но я думаю, вы не будете спорить, что в той же яве возможностей выстрелить себе в ногу куда меньше, чем в С++. Я думаю, автор именно это имел в виду, говоря о низкоуровневых языках И как это компутеры вообще работают? Ведь все операционки - Виндоус, Линукс и все остальные Юниксы, включая проприетарные - написаны, о ужас! на С++ Может дело не в языках, а в квалификации программистов? Сообщение отредактировал MVS - 3.12.2016, 12:39 |
|
|
3.12.2016, 12:50
Сообщение
#22
|
|
Частый гость Группа: Haunters Сообщений: 265 Регистрация: 28.7.2014 Пользователь №: 34 017 |
И как это компутеры вообще работают? Ведь все операционки - Виндоус, Линукс и все остальные Юниксы, включая проприетарные - написаны, о ужас! на С++ Может дело не в языках, а в квалификации программистов? вот так и работают. Вы список патчей для windows видели? Несовершеннен человек, к сожалению. Даже у самых лучших программистов ( а это ешё вопрос, где этих самых хороших программистов найти и сколько им потребуется платить ) есть норма ошибок на количество строк кода. |
|
|
3.12.2016, 15:38
Сообщение
#23
|
|
Ветеран форума Группа: Patrons Сообщений: 1 167 Регистрация: 3.1.2012 Из: Нижний Новгород Пользователь №: 33 533 |
вот так и работают. Вы список патчей для windows видели? Видел. И что дальше? Ни одной ОС написанной на Яве нет. Как и все крупные программы типа БД или САПР - написаны на С++. Вычислительные с плавающей точкой - в основном Фортран, целочисленные - С++. По опыту 8 лет работы в суперкомп. отделе Интела не видел ни одной вычислительной программы, написанной на чем-либо, кроме Фортрана и С-С++ (иногда на смеси этих языков). А на контроллерах и ускорителях вообще даже Фортрана нет, сплошной С. Я блин, даже нормального сишника не могу найти в свой отдел, в hh сплошной ширпотреб - ява, C# да веб-программисты. |
|
|
3.12.2016, 15:46
Сообщение
#24
|
|
Ветеран форума Группа: Patrons Сообщений: 1 167 Регистрация: 3.1.2012 Из: Нижний Новгород Пользователь №: 33 533 |
И еще. Что мне толку,что эти Явы спасают от глупых ошибок, если люди на собеседованиях даже формат числа с плавающей точкой не знают? Вырастили блин, поколение пепси среди инженеров.
|
|
|
3.12.2016, 15:58
Сообщение
#25
|
|
Модератор Группа: Clubmen Сообщений: 24 891 Регистрация: 16.1.2007 Из: Обнинск Пользователь №: 4 |
Уважаемые участники, не оффтопьте, пожалуйста. Вернусь из командировки, перенесу отдельно в новую тему. - Модератор
|
|
|
3.12.2016, 18:11
Сообщение
#26
|
|
Постоянный участник Группа: Patrons Сообщений: 2 427 Регистрация: 16.3.2011 Пользователь №: 32 318 |
Несмотря на то, что растёт, требование станции (одна кампания за рабочую смену) еле-ели выполняется с Гефестом, то есть, с уравнением диффузии. Впритык. Так что пока недостаточно выросла. Но задел на будущее сделан. В интервью есть, что программа с более прецизионным методом на станцию уже поставлена. Пока как допсредство для проверки вычислений, если у физиков на станции возникнет такая потребность. В будущем - может, и как основной метод. У меня был упор на то, что мощность "при желании растет". Без суперкомпьютеров. НЯП, диффузия - это массивно-параллельные вычисления. Там при реальном желании/требовании скорости (реальном - это подкрепленном оплатой) можно очень многое придумать без покупки многопроцессорного монстра. Монте-Карло немного хуже в смысле аппаратного/спецвычислительного ускорения, но лишь немного. Я видел, как подобные задачи решаются для 3д-рендеринга, там где коммерческие интересы реально упираются в скорость вычисления. Напихать в стойку побольше лезвий - это не всегда самое дешевое. Про майнинг криптовалют я вообще молчу. Там вычмоща отдельно взятой фермы бывает такая, что и рекордные суперкомпы отдохнут. Если на АЭС есть _реальная_ потребность (то есть, практическая выгода, а не абстрактное "хорошо бы") от более сложных алгоритмов, то эти алгоритмы можно заставить бегать сильно быстрее на относительно дешевом железе. |
|
|
3.12.2016, 18:19
Сообщение
#27
|
|
Постоянный участник Группа: Patrons Сообщений: 2 427 Регистрация: 16.3.2011 Пользователь №: 32 318 |
по читаемости возможно. но я думаю, вы не будете спорить, что в той же яве возможностей выстрелить себе в ногу куда меньше, чем в С++. Я думаю, автор именно это имел в виду, говоря о низкоуровневых языках Ни в коем случае не буду. У автора - вообще мухи и котлеты в одном супе с гайковертом. Если С++ - "низкоуровневый", то каким боком лучше столь же низкоуровневый, но более примитивный и убогий Паскаль? И каким боком в список желательных языков вообще попал ассемблер? Ну и Фортран при всем моем уважении к Традиции и накопленной невероятно мощной базе научного кода - никак не назовешь современным высокоуровневым языком, помогающим избежать ошибок. Да, я знаю про Фортран-99, наверняка есть и дальнейшие продвижки, но все-таки, нужно признать, что единственная причина ему жить сейчас - наследие и совместимость (в широком смысле, включая много привыкших к нему людей). Поскольку язык в таких делах сильно вторичен, выгод от перехода на ту же Яву не сильно много или вообще нет. Но это же не значит, что Фортран чем-то хорош. |
|
|
3.12.2016, 18:25
Сообщение
#28
|
|
Постоянный участник Группа: Patrons Сообщений: 2 427 Регистрация: 16.3.2011 Пользователь №: 32 318 |
И как это компутеры вообще работают? Ведь все операционки - Виндоус, Линукс и все остальные Юниксы, включая проприетарные - написаны, о ужас! на С++ Может дело не в языках, а в квалификации программистов? Квалификация - она само собой. Конечно, на С++ можно и нужно писать качественный код. Просто на С++ (С, Паскале) ошибке легче иметь катастрофические для программы/системы последствия, чем такой же ошибке на Яве: прямой доступ к памяти, не-манагед код. |
|
|
3.12.2016, 19:52
Сообщение
#29
|
|
Ветеран форума Группа: Patrons Сообщений: 1 167 Регистрация: 3.1.2012 Из: Нижний Новгород Пользователь №: 33 533 |
Квалификация - она само собой. Конечно, на С++ можно и нужно писать качественный код. Просто на С++ (С, Паскале) ошибке легче иметь катастрофические для программы/системы последствия, чем такой же ошибке на Яве: прямой доступ к памяти, не-манагед код. Конечно проще, кто спорит. На Яве, на бейсике. Как школьники. Только потом не надо ныть, что у нас кодов нет, и никто их писать не умеет. |
|
|
3.12.2016, 20:43
Сообщение
#30
|
|
Ветеран форума Группа: Patrons Сообщений: 1 273 Регистрация: 23.12.2014 Пользователь №: 34 075 |
Монте-Карло немного хуже в смысле аппаратного/спецвычислительного ускорения, но лишь немного. Монте-Карло по сути своей очень хорошо параллелится. Трудно представить алгоритм, который параллелился бы лучше. Господа программисты, а почему в тему никто ещё не вкинул слово "C++11"? -------------------- Всё это мелкая рябь на волнах экономических циклов, незаметных на приливах эпох.
Накапливать ОЯТ абсурдно для здорового человека. Если мечтать — то ни в чём себе не отказывать. 8956 |
|
|
4.12.2016, 2:52
Сообщение
#31
|
|
Частый гость Группа: Haunters Сообщений: 482 Регистрация: 15.3.2011 Из: Vilnius. Lietuvos Respublika Пользователь №: 32 238 |
вот так и работают. Вы список патчей для windows видели? Несовершеннен человек, к сожалению. Даже у самых лучших программистов ( а это ешё вопрос, где этих самых хороших программистов найти и сколько им потребуется платить ) есть норма ошибок на количество строк кода. Согласен. Кому любопытно - обновления последней оси от дяди Билла (Windows 10) - это поэма! Идет постоянное лихорадочное исправление косяков. На нормальных компьютерах это не так заметно,хотя временами напрягает, а вот на смартфонах - исправляют одно, косячат другое, у мну смарт Microsoft Lumia 650 - задолбался обновлять и перегружать... Вот, можете сами поглядеть: https://support.microsoft.com/ru-ru/help/22...story?ocid=1607 Сообщение отредактировал Alexll - 4.12.2016, 3:00 |
|
|
4.12.2016, 9:08
Сообщение
#32
|
|
Постоянный участник Группа: Patrons Сообщений: 2 427 Регистрация: 16.3.2011 Пользователь №: 32 318 |
Монте-Карло по сути своей очень хорошо параллелится. Трудно представить алгоритм, который параллелился бы лучше. Господа программисты, а почему в тему никто ещё не вкинул слово "C++11"? Монте-Карло содержит условные переходы, плохо влазит под SIMD и требует полноценного (с условным исполнением) процессора на каждую ветку вычислений, НЯП. А зачем и почему именно 11? |
|
|
4.12.2016, 9:11
Сообщение
#33
|
|
Постоянный участник Группа: Patrons Сообщений: 2 427 Регистрация: 16.3.2011 Пользователь №: 32 318 |
Конечно проще, кто спорит. На Яве, на бейсике. Как школьники. Только потом не надо ныть, что у нас кодов нет, и никто их писать не умеет. Как-то, мягко говоря, странно ставить Яву в один ряд с Бэйсиком - языки из разных миров. Точно так же, как странно определять квалификацию расчетчика по тому, каким языком он пользуется. Алгоритмы можно потом хоть на ассемблер и Лего-язык перевести, то набота кодеров. Были б алгоритмы. |
|
|
4.12.2016, 10:12
Сообщение
#34
|
|
Ветеран форума Группа: Patrons Сообщений: 1 273 Регистрация: 23.12.2014 Пользователь №: 34 075 |
Монте-Карло содержит условные переходы, плохо влазит под SIMD и требует полноценного (с условным исполнением) процессора на каждую ветку вычислений, НЯП. Зато каждый элемент выборки абсолютно независим от всех остальных. Применительно к графике это означает, что цвет одного пикселя может вычисляться одновременно на ста процессорах. А зачем и почему именно 11? C++11 отличается от C++ так же, как C++ от C. Совсем другой подход к программированию. Страуструп вообще говорит, что это новый язык. -------------------- Всё это мелкая рябь на волнах экономических циклов, незаметных на приливах эпох.
Накапливать ОЯТ абсурдно для здорового человека. Если мечтать — то ни в чём себе не отказывать. 8956 |
|
|
4.12.2016, 20:57
Сообщение
#35
|
|
Постоянный участник Группа: Patrons Сообщений: 2 427 Регистрация: 16.3.2011 Пользователь №: 32 318 |
Зато каждый элемент выборки абсолютно независим от всех остальных. Применительно к графике это означает, что цвет одного пикселя может вычисляться одновременно на ста процессорах. C++11 отличается от C++ так же, как C++ от C. Совсем другой подход к программированию. Страуструп вообще говорит, что это новый язык. Ну так и для других методов это справедливо в значительной степени. А С++03 не отличался от С++ версии 1989-го? Отличия стандарта 11-го года от 3-го - точно такая же эволюция, а не революция. Просто со временем фич набирается немало. |
|
|
5.12.2016, 8:16
Сообщение
#36
|
|
Ветеран форума Группа: Patrons Сообщений: 1 211 Регистрация: 24.8.2016 Пользователь №: 34 367 |
Спасибо админу за его терпение, за наш флуд. Да эту тему нужно выделить в отдельную ветку.
А теперь отвечу по порядку: 1) С/С++ отнес к языкам среднего уровня - так как это и не язык низкого уровня (Асм), но и не язык высокого уровня - он не "читается" как обычный текст (именно это имел ввиду Вирт, когда давал обоснование языку высокого уровня - он должен восприниматься человеком как обычный текст (например, как читать литературу). С языки не читабельны, не воспринимаются человеком. 2) по статистике (не мной замечено, а буржуями! за бугром) - 70 % времени уходит на отладку и вылавливание логических ошибок (самые дорогие ошибки!). Поэтому читабельность и восприятие логики программы на первом месте при отладке. А восстанавливать логику программы читая с и h фалы и составляя в мозгу логику кодера - психушка обеспечена!!! 3) А еще приведите мне довод о великолепной стандартизации С/С++! Это миф!!! Блин, из-за этого я потерял целый месяц, ковыряясь в с++ исходнике одного драйвера для контроллера на Линуксе. Это было жесть!!!!!!!!!!!! Мне надо было из Паскаля (Lazarus), получить из динамической библиотеки данные. Агась, держи карман пошире. Все было написано так красиво, и (кстати, это работало, НО! только исключительно на си ). Использовались шаблоны и перегруженный вызов функции. Т.е. стандартные вещи. Угу. Так вот, все дело в том что перегруженные функции не работала как положена, вызывалась только первая в цепочке, а мне надо была вторая. При разборе в интернете нашел инфу что это сильно зависит от разработчика конкретной версии компилятора. Короче, проблему то я решил, все заработало красиво и как положено. А самое прикольное в том, что процесс считывания, буферизации и сохранения данных был многопоточным, распараллеленым - и это все на Паскале. Так можно писать хорошие и нужные вещи и на Паскале, с меньшими затратами. ЗЫ. Хотя мой любимый FPC использует компилятор с/с++ что и установленный в системе был. Та что я сужу не по наслышке, я столкнулся с глубинами ада по самое нехочу. Потому с/с++ не хочу. Серьезно. Потому и не хотят идти в С/С++ кодеры - зачем напрягать извилины там, где не надо. Потому С/С++ нельзя близко допускать к критическим областям - пристреливать за горизонтом!!!!!!! Ибо выловить логические ошибки в таком коде практически нереально!!! Поэтому и взлетел проект Буран, а F-35 летает низэнько низэнько, как крокодилы над землей. |
|
|
5.12.2016, 16:44
Сообщение
#37
|
|
Модератор Группа: Clubmen Сообщений: 24 891 Регистрация: 16.1.2007 Из: Обнинск Пользователь №: 4 |
|
|
|
5.12.2016, 17:35
Сообщение
#38
|
|
Частый гость Группа: Haunters Сообщений: 265 Регистрация: 28.7.2014 Пользователь №: 34 017 |
1) С/С++ отнес к языкам среднего уровня - так как это и не язык низкого уровня (Асм), но и не язык высокого уровня - он не "читается" как обычный текст (именно это имел ввиду Вирт, когда давал обоснование языку высокого уровня - он должен восприниматься человеком как обычный текст (например, как читать литературу). С языки не читабельны, не воспринимаются человеком. Тогда надо срочно переносить ваш паскаль код на КОБОЛ. Он ещё более близок к человеческому восприятию, чем паскаль |
|
|
5.12.2016, 21:01
Сообщение
#39
|
|
Постоянный участник Группа: Patrons Сообщений: 2 427 Регистрация: 16.3.2011 Пользователь №: 32 318 |
Спасибо админу за его терпение, за наш флуд. Да эту тему нужно выделить в отдельную ветку. А теперь отвечу по порядку: Ваш пост сводится к следующему: Вы любите Паскаль и не умеете читать сишный код. Ну и что с того? Почему Вы решили, что это распространяется на всех? Меня вот Паскаль раздражал - своей бессмысленной и тупой многословностью и необходимостью вместо программирования постоянно бороться с убогостью языка, так я ж не делаю из личных предпочтений глобальных выводов. Нравится кому-то писать "begin" вместо простой открывающей скобки - да барабан в руки, флаг на шею (ну, как в Паскале принято ) На самом деле, если убрать в сторону мелкие неудобства и общую убогость Паскаля, с С они близнецы-братья, благо писаны в одно и то же время в одной и той же парадигме процедурного программирования. Ваше удивление и торжествующее доказательство того, что на Паскале, оказывается, если помучаться, тоже можно что-то путное написать - странно, ибо конечно можно! Паскаль - вполне адекватный своему времени функциональный язык с достаточно развитыми средствами. Си он проиграл из-за раздражающих нелогичностей и мелочей. Миллионы программистов могли выбирать, но при прочих равных, мелочи оказались решающи Си был просто удобнее. Отвлекитесь на секунду от личных предпочтений и посмотрите глобально: абсолютное большинство софта Человечества (в том числе - почти весь системный, критичный к ошибкам, лежащий в основе нашей цивилизации) написано на С и его наследниках. Индустрия выбрала его как стандарт не просто так, и Паскаль остался маргинальным - тоже не без причин. Да, проиграл. Из-за мелочей. Да, мелочи - это мелочи. Но проиграл. 40-50 лет назад. Но С++ ставить на одну доску с С/Паскалем? Это, простите, дикость. Ибо это уже смена парадигмы - первый объектно-ориентированный язык, принятый индустрией. Это уже другой век софтовой индустрии. И даже этот век - тоже уже ушёл; С++, как и С в своё время ушёл в свою нишу, которая постоянно сужается. Преимущества для большинства проектов managed кода настолько велики (не говоря уж о гигантском рывке новых языков в синтаксисе, функционале и общей выразительности), что нужно иметь очень, очень веские основания, чтобы выбирать С++ для нового проекта. Посмотрите С#, посмотрите, насколько много рутинной работы может брать на себя язык, насколько коротко и понятно можно записывать сложные вещи, которые в тех же С/Паскале требовали бы чуть ли не страницы сложно читаемого кода. И это я ещё стороной обхожу специализированные для своей области скрипты. А ведь накладные расходы даже на интерпретацию с общим ростом мощности сильно убавили в процентном отношении! Сравнимы ли С/Паскаль в удобстве в обращении с матрицами с Матлабом? Или при работе с текстами с Ruby? Да там пропасть необозримой ширины! ___ ...прошло 50 лет, космические корабли бороздят просторы Вселенной, нейросети водят машины, а вычмощь телефона у Вас в кармане превышаем суммарную вычмощь всей Земли того времени (включая всё население с арифмометрами)... ...и тут выходите Вы и вспоминаете, что когда-то в прошлом веке был такой очень полезный транзистор МП-39 и такой язык - Паскаль, и на нём тоже что-то писали. Что тут можно сказать? Оглянитесь вокруг. Вокруг появилось много нового и полезного. Я не призываю Вас выкинуть, наконец, эту палку-копалку (мало ли, и она в нужный момент сойдёт за инструмент), но блин! Оглянитесь вокруг, наконец! Сообщение отредактировал Татарин - 5.12.2016, 21:41 |
|
|
5.12.2016, 22:39
Сообщение
#40
|
|
Ветеран форума Группа: Patrons Сообщений: 1 167 Регистрация: 3.1.2012 Из: Нижний Новгород Пользователь №: 33 533 |
Как-то, мягко говоря, странно ставить Яву в один ряд с Бэйсиком - языки из разных миров. Точно так же, как странно определять квалификацию расчетчика по тому, каким языком он пользуется. Алгоритмы можно потом хоть на ассемблер и Лего-язык перевести, то набота кодеров. Были б алгоритмы. Вы контроллеры программировали? На каком языке там пишут, знаете? А на суперкомпах? Список кодов из spec.org или top500 смотрели? О чем вообще говорить, элементарной грамотности нет. Сообщение отредактировал MVS - 5.12.2016, 22:41 |
|
|
Текстовая версия | Сейчас: 26.4.2024, 17:04 |