Здравствуйте, VladD2, Вы писали:
VD>докапаться до == и = не достойно серьезного человека.
Ну а вот тут [при желании ] можно и поспорить. Что такое юзабилити, небось знаешь. Вот эти == и = как раз из той оперы. Если вокруг этих операторов столько ошибок, опечаток и сломанных копий, значит решение было неудобное, неестественное.
Это из той же оперы, что i+1 и i++. Запись удобная, но чревата ошибками по забывчивости: i — число или указатель. Взять бы паскалевский inc(i [,amount]) для чисел, добавить next(i [,amount]) для указателей и других итераторов. Вряд ли код сильно потеряет в читабельности (может, даже приобретет), зато так просто перепутать число с указателем уже не получится.
Здравствуйте, Kh_Oleg, Вы писали:
SWW>>Практика же показывает, что лучший учебник — это Керниган-Ритчи, который безо всяких формальных нотаций с первой же страницы предлагает писать простую программу. K_O>Только обучение по такому учебнику сродни обучению игры на фортепиано двумя пальцами — быстрый прогресс вначале и ступор при попытке сыграть что-либо серьезное.
Все наоборот. На фортепиано учат постановке рук, удару, простейшим гаммам... Основа, сложнее, еще сложнее... И в программировании К-Р то же самое: простейший пример, сложнее, еще сложнее...
А учебник, состоящий из формальных нотаций в данном случае равносилен трехмесячному сидению за партами и выслушиванию полного курса сольфеджио и техники игры — ни касаясь инструмента, видя его разве что на висящем у доски плакате.
Здравствуйте, VladD2, Вы писали:
VD>В сообщении раядом есть ссылка на теру где сказано, что они сделали эмуляцию полета на компьютере. Т.е. по русски говоря написали полноценные тесты, тольк сделали они это после попытки ввода в эксплуатацию. А в их деле если с первого раза спутник не запустился, значит спутниковый спорт не для них...
Там в статье было сказано, что лог писался в EPROM, который смогли восстановить и прочитать.
Здравствуйте, Дм.Григорьев, Вы писали:
ДГ>Ну а вот тут [при желании ] можно и поспорить. Что такое юзабилити, небось знаешь. Вот эти == и = как раз из той оперы. Если вокруг этих операторов столько ошибок, опечаток и сломанных копий, значит решение было неудобное, неестественное.
Ошибки из-за опасных приведений типа. Попробуй сделай подобную ошибку в Шарпе.
ДГ>Это из той же оперы, что i+1 и i++. Запись удобная, но чревата ошибками по забывчивости: i — число или указатель. Взять бы паскалевский inc(i [,amount]) для чисел, добавить next(i [,amount]) для указателей и других итераторов. Вряд ли код сильно потеряет в читабельности (может, даже приобретет), зато так просто перепутать число с указателем уже не получится.
Длч Inc из дельфи тоже по фигу указатель это или что. Самый эффективный способ борьбы с указателями — это полный отказ от них.
... << RSDN@Home 1.1.3 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>Длч Inc из дельфи тоже по фигу указатель это или что.
Я имел в виду не дельфи как таковую, а некий гипотетический язык, где можно было бы раскидать операторы по типам операндов — без перегружаемых методов (так они кажись называются? )
VD>Самый эффективный способ борьбы с указателями — это полный отказ от них.
Это точно. Имхо Java рулит. А вот в C/C++ без них туго — системное программирование блин.
Здравствуйте, LaptevVV, Вы писали:
LVV>Здравствуйте, BiТ, Вы писали:
LVV>>>>http://www.inr.ac.ru/~info21/greetings/wirth_doklad_rus.htm
LVV>>>Руководящим для моей карьеры в преподавании и исследованиях был тот принцип, что хорошо подготовленные профессионалы должны быть гораздо эффективнее, чем вдохновенные любители. В их производительности должно быть различие, и притом существенное. Думаю, что нашей общей целью должно быть увеличение этого различия.
LVV>>>[/q]
BiТ>>И продолжая мысль — хорошо подготовленные вдохновенные любители сделают и тех, и других )) LVV>Нет! Разница здесь должна быть такой же, как , например, в музыке. Ни один любитель не может играть так, как играет профессионал. И у нас так же должно быть. А пока — то, что вы сказали. Это — ненормально!
Вы знаете, Рихтер, как ни странно, был любителем. Он в консерватории фактически не учился, его из-за этого несколько раз порывались выгнать. Человек просто Играл. Положив на всех учителей.
А Давида Гильберта преподаватели в университете считали тупым. А Эйнштейн был простым низкооплачиваемым служащим патентного бюро. А Мендель! Ну и т.д.
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, AVM, Вы писали:
AVM>>Обычно, все "логи" дублируются на Землю через телеметрию
VD>И как ты себе видишь логирование действий процессора? Это ж каую нужно информацию передавать и чем?
А на кой тебе надо логировать действия процессора ?
У тебя исходники есть, процессор есть, тебе надо залогировать, только общий ход выполнения программы,
что бы потом при разборе ты мог востроизвести ситуацию на Земле. VD>ЗЫ
VD>В сообщении раядом есть ссылка на теру где сказано, что они сделали эмуляцию полета на компьютере. Т.е. по русски говоря написали полноценные тесты, тольк сделали они это после попытки ввода в эксплуатацию. А в их деле если с первого раза спутник не запустился, значит спутниковый спорт не для них...
"Не читайте, батенька, перед обедом советских газет" (c) Преображенский
Здравствуйте, Дм.Григорьев, Вы писали:
ДГ>просто счастье, что есть автоматические финалайзеры
.... которые настоятельно не рекомендуется использовать в любых целях, кроме освобождения памяти. Про что многие привыкшие к безопасности программеры забывают и за это потом получают по балде.
Здравствуйте, VladD2, Вы писали: VD>Я конечно все понимаю, но докапаться до == и = не достойно серьезного человека. Ссылка твоя не работат, ты хоть бы назвал бы имя товарища, я в будущем относился к его словам с осторожностью.
Судя по тексту линка, это доклад некоего человека по фамилии Wirth. Я также могу догадаться, что его зовут Niklaus. См. http://www.cs.inf.ethz.ch/~wirth/
... << RSDN@Home 1.1.3 beta 2 >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, LaptevVV, Вы писали:
LVV>[/q] LVV>Класссс!!!!!
господа, ну сколько уже можно?
ругать С — это пошло просто до безобразия
тем не менее, им и его потомками пользовались, пользуются и будут пользоваться. Потому что ничего лучше пока не придумали. Языки, созданные теоретиками "на бумажке", почти никогда не оказываются востребованными — просто потому, что теоретики не имеют представления о реальных проблемах программирования и вместо этого борются с ветряными мельницами. А все разговоры о "порочном круге" — это просто паранойя. Появись язык, который реально, а не на словах лучше — все будут пользоваться именно им.
Здравствуйте, Дм.Григорьев, Вы писали:
ДГ>Это из той же оперы, что i+1 и i++. Запись удобная, но чревата ошибками по забывчивости: i — число или указатель. Взять бы паскалевский inc(i [,amount]) для чисел, добавить next(i [,amount]) для указателей и других итераторов. Вряд ли код сильно потеряет в читабельности (может, даже приобретет), зато так просто перепутать число с указателем уже не получится.
Если ты путаешь числа и указатели, то никакая запись тебе не поможет.
А откуда inc, ты знаешь? Это борландовское расширение языка, и появилось оно в районе TP 6-7. К Вирту никакого отношения не имеет.
И если уж заговорили про Вирта — за with ему надо бы отрубить руки по самые уши. Вот это точно пример очень плохого двусмысленного кода.
Здравствуйте, Шахтер, Вы писали:
Ш>Вы знаете, Рихтер, как ни странно, был любителем. Он в консерватории фактически не учился, его из-за этого несколько раз порывались выгнать. Человек просто Играл. Положив на всех учителей. Ш>А Давида Гильберта преподаватели в университете считали тупым. А Эйнштейн был простым низкооплачиваемым служащим патентного бюро. А Мендель! Ну и т.д.
А Гедель был телеграфистом, что не помешало ему сделать Гильберта.
Здравствуйте, Дарней, Вы писали:
Д>Здравствуйте, Дм.Григорьев, Вы писали:
ДГ>>просто счастье, что есть автоматические финалайзеры
Д>.... которые настоятельно не рекомендуется использовать в любых целях, кроме освобождения памяти.
Которая, кстати, сама освобождается, так что они как бы и не нужны.
Д> Про что многие привыкшие к безопасности программеры забывают и за это потом получают по балде.
Ну я себя к таким не относил, по крайней мере в части данного глюка... Я в целом про язык: приучает к дисциплине. Вот еще вспомнилось: объявление исключений в заголовках функций. Просто заставляет задумываться о корректной обработке всего, что неохота помещать в заголовок, тогда как на C++ можно было бы просто махнуть рукой и сказать: ну такого вылететь точно не может.
Здравствуйте, Kh_Oleg, Вы писали:
K_O>...когда перестанете заботиться о читабельности, надежности и простоте ваших программ, вот тогда вы сможете сказать, что дейстивтельно изучили С++.
Высказывание из ряда — Копай Нео, летать научишься (С) Шахтер, по-моему
Почему это код на С/С++ не читаемый, читаемый он, очень даже читаемый.
Я такой бред видел, что караул причем на Паскале, а не на С, на Дельфях то же прикольно бывает.
Ну есть такие конструкции i+++++i, но ведь никто никого так писать не заставляет.
ДГ>Это из той же оперы, что i+1 и i++. Запись удобная, но чревата ошибками по забывчивости: i — число или указатель.
Просветите меня, темного, в чем проблема-то, никак не пойму? Я много всякой гадости читал про С, а вот гадость про оператор ++ первый раз слышу. Во-первых, хоть я и много всяких ошибок делал — но забыть, какого типа переменная — это уж выходит за всякие рамки. А во-вторых — поблема-то когда возникает: когда i число или когда указатель?
Здравствуйте, Дарней, Вы писали:
Д>Здравствуйте, LaptevVV, Вы писали:
LVV>>[/q] LVV>>Класссс!!!!!
Д>господа, ну сколько уже можно? Д>ругать С — это пошло просто до безобразия Д>тем не менее, им и его потомками пользовались, пользуются и будут пользоваться. Потому что ничего лучше пока не придумали. Языки, созданные теоретиками "на бумажке", почти никогда не оказываются востребованными — просто потому, что теоретики не имеют представления о реальных проблемах программирования и вместо этого борются с ветряными мельницами. А все разговоры о "порочном круге" — это просто паранойя. Появись язык, который реально, а не на словах лучше — все будут пользоваться именно им.
Все это уже говорилось не раз. А C/C++ так прочно держится чисто по историческим причинам. Вон, на винде уже все под .NET толпами валят — видать он реально лучше. А unix как был изначально написан на C, так на C/C++ до сих пор и пишется.
Ругать и обсуждать — разные вещи. А в языке действительно масса проблем. Если ты считаешь, что это не так, значит ты просто мало писал на нем и не пробовал другие языки. Попробуй поработать на Java: имхо он гораздо лучше чем C++ (сама идеология языка, сырые библиотеки не в счет), на столько же, насколько C++ лучше старого паскаля.
Лично я думаю, что время C/C++ как языка для прикладных задач подходит к концу. Он будет жить еще долго просто за счет *nix-ов и прочих многолетних наработок, но за время его существования программирование проделало очень большой путь, и синтез этого опыта требует принципиально новых технологий — на данный момент .NET, Java, потом наверняка войдут в обиход математически доказываемые системы, про которые упоминалось в статье-разборе полетов mission-critical глюков. На бедный C++ всего этого уже не навесить, и сфера его использования будет сужаться до низкоуровнего системного программирования в связке с asm.
Здравствуйте, Дарней, Вы писали:
Д>Здравствуйте, Дм.Григорьев, Вы писали:
ДГ>>Это из той же оперы, что i+1 и i++. Запись удобная, но чревата ошибками по забывчивости: i — число или указатель. Взять бы паскалевский inc(i [,amount]) для чисел, добавить next(i [,amount]) для указателей и других итераторов. Вряд ли код сильно потеряет в читабельности (может, даже приобретет), зато так просто перепутать число с указателем уже не получится.
Д>Если ты путаешь числа и указатели, то никакая запись тебе не поможет.
А ты никогда не путал?
Д>А откуда inc, ты знаешь? Это борландовское расширение языка, и появилось оно в районе TP 6-7. К Вирту никакого отношения не имеет.
Да какая разница? Я говорю о том, что язык должен быть интуитивно понятным. Это юзабилити. Без этого ни одну вещь нельзя нормально юзать.
Д>И если уж заговорили про Вирта — за with ему надо бы отрубить руки по самые уши. Вот это точно пример очень плохого двусмысленного кода.
А вот тут согласен на все сто.
Здравствуйте, Дм.Григорьев, Вы писали:
ДГ>Здравствуйте, Kh_Oleg, Вы писали:
SWW>>>Практика же показывает, что лучший учебник — это Керниган-Ритчи, который безо всяких формальных нотаций с первой же страницы предлагает писать простую программу. K_O>>Только обучение по такому учебнику сродни обучению игры на фортепиано двумя пальцами — быстрый прогресс вначале и ступор при попытке сыграть что-либо серьезное.
ДГ>Все наоборот. На фортепиано учат постановке рук, удару, простейшим гаммам... Основа, сложнее, еще сложнее... И в программировании К-Р то же самое: простейший пример, сложнее, еще сложнее...
ДГ>А учебник, состоящий из формальных нотаций в данном случае равносилен трехмесячному сидению за партами и выслушиванию полного курса сольфеджио и техники игры — ни касаясь инструмента, видя его разве что на висящем у доски плакате.
К сожалению, так же поставлено в наших вузах обучение высшей математике: формальные определения, строгие теоремы, за которыми не видно сути... Помню, я понял матанализ только когда мне попался учебник Фихтенгольца примерно 1957 года выпуска. Он был написан не то что понятно — я бы сказал: увлекательно. Каждая тема начиналась с простого примера, затем он усложнялся, обобщался и только в конце (когда читателю все понятно) приводилось строгое доказательство теоремы в общем виде. А сейчас обучение начинается с общего вида. Например, дифференциальное уравнение — это уравнение вида: F(x, y(x), y'(x), y''(x), ... yn(x)) = 0 Вам все понятно? Из каких потребностей появилось, для чего оно предназначено, как решается? То же и с предлагаемым учебником по программированию.
Здравствуйте, SWW, Вы писали:
SWW>Помню, я понял матанализ только когда мне попался учебник Фихтенгольца примерно 1957 года выпуска. Он был написан не то что понятно — я бы сказал: увлекательно...
Уж не тот ли это, где на пальцах описываются отличия интеграла Лебега от Римана — на примере функции Дирихле? Хотя нет, тот был кого-то из наших академиков...