Re[4]: # дао калькулятора (история первая)
От: Vzhyk  
Дата: 13.02.14 10:17
Оценка:
2/13/2014 12:40 PM, artkarma пишет:

> Вообще-то парсер мат выражений на С++ — это тема курсовой работы старших

> курсов в одном из ведущих технических вузов Санкт-Петербурга, задание на
> весь семестр, причем сами всё, от и до, пишут процентов 13 студентов, 50
> % не берут эту тему как сложную.
А когда я учился у меня курсовые были "адаптивные методы решения жестких
систем ОДУ".
Posted via RSDN NNTP Server 2.1 beta
Re[2]: # дао калькулятора (история первая)
От: мыщъх США http://nezumi-lab.org
Дата: 13.02.14 10:19
Оценка:
Здравствуйте, Abyx, Вы писали:

A>Здравствуйте, мыщъх, Вы писали:


A> ну так и написал бы этот правильный калькулятор за 4 часа.

я бы и написал. но когда... "блин, опять этого гребанный калькулятор!!! сколько можно!!!".

A> людям хочется твой код посмотреть, а не БНФ и код генереный генератором парсеров.

как бы да, но как бы и нет. это рулетка. напишешь 100500 строк кода и тебе скажут идти курить матчать и читать книгу дракона. кстати, дракон закодирован в номере года по китайскому календарю
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[5]: # дао калькулятора (история первая)
От: Vzhyk  
Дата: 13.02.14 10:21
Оценка:
2/13/2014 12:47 PM, Abyx пишет:

> а тут сначала учат пограмированию с младших курсов, а потом полгода не

> могут парсер написать.
> и эти студенты потом должны идти работать %)
Ты бы видел, что они после этих заведений (СПбГУ) пишут. От такого кода
потом в холодном поту просыпаешься.
Posted via RSDN NNTP Server 2.1 beta
Re[4]: # дао калькулятора (история первая)
От: Pzz Россия https://github.com/alexpevzner
Дата: 13.02.14 10:40
Оценка:
Здравствуйте, artkarma, Вы писали:

М>>следующая история про калькулятор будет смешнее.

A>Вообще-то парсер мат выражений на С++ — это тема курсовой работы старших курсов в одном из ведущих технических вузов Санкт-Петербурга, задание на весь семестр, причем сами всё, от и до, пишут процентов 13 студентов, 50 % не берут эту тему как сложную.

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

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

Если вы поиграетесь с таким калькулятором, то поймете, что алкогоритм, на самом деле, весьма простой, и что там делать весь семестр, понять невозможно. А, ну да, проектировать архитектуру и иерархию классов.
Re[6]: # дао калькулятора (история первая)
От: Pzz Россия https://github.com/alexpevzner
Дата: 13.02.14 10:44
Оценка: 1 (1)
Здравствуйте, Vzhyk, Вы писали:

V>Одно из важнейших умений специалиста в нашей области — это уметь

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

Т.е., всех, кто не умеет с людьми разговаривать, сразу в лес посылаем? Ну и правильно, мы ведь официантов ищем, а не инженеров
Re[7]: # дао калькулятора (история первая)
От: Vzhyk  
Дата: 13.02.14 10:54
Оценка:
2/13/2014 1:44 PM, Pzz пишет:

> Т.е., всех, кто не умеет с людьми разговаривать, сразу в лес посылаем?

> Ну и правильно, мы ведь официантов ищем, а не инженеров
Да. Уже давно подавляющее большинство продуктов делается командами и
навык рабочего общения необходим. Необходим навык умения рассказать о
том, что сделал, как и почему, что предполагаешь делать. А вот вообще не
умеющих говорить можно брать только в том случае, если он гений и есть
задача точно для его гениальности и она никак не связана с другими.
А вот официанту навык общения в общем-то и не нужен. Улыбка да пара
дежурных фраз, правда в этом случае он без чаевых часто будет
оставаться, но работодателю на это в общем-то пофиг.
Posted via RSDN NNTP Server 2.1 beta
Re[7]: # дао калькулятора (история первая)
От: BrainSlug Израиль  
Дата: 13.02.14 10:55
Оценка:
Pzz>Т.е., всех, кто не умеет с людьми разговаривать, сразу в лес посылаем?
А как ты определишь то ли он думать не умеет, то ли разговаривать, то ли работать не хочет? Люди о людях судят по внешним признакам, по поступкам. Человек может быть хоть Эйнштейном, но если не сумеет себя преподнести, никто никогда и не поймет, что он Эйнштейн. А времени на выяснения как известно мало. В этом вся и проблема.
.
Re: # дао калькулятора (история первая)
От: elmal  
Дата: 13.02.14 11:01
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>
М>expr := expr + term | expr - term | term
М>term := term * factor | term / factor | term % factor | factor
М>factor := expr | number
М>number := number digit | digit
М>digit := 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
М>

Ок, парсер написал, AST построил. А где реализация и собственно вычисления ? Генератор парсеров за тебя вычисления то не сделают . И кстати, нет поддержки скобочек, если уж такой умный, мог бы грамматику и понавороченнее сварганить.

Кстати на прологе круто бы калькулятор выглядел. По количеству строк было бы столько же, по выразительности было бы очень близко, но еще б и реализация была и это бы работало . В следующий раз рекомендую на прологе им зафигачить — код просто конфетка
Re[4]: # дао калькулятора (история первая)
От: мыщъх США http://nezumi-lab.org
Дата: 13.02.14 11:15
Оценка:
Здравствуйте, artkarma, Вы писали:

A>Здравствуйте, мыщъх, Вы писали:


М>>Здравствуйте, artkarma, Вы писали:


A> Вообще-то парсер мат выражений на С++ — это тема курсовой работы старших курсов

A> в одном из ведущих технических вузов Санкт-Петербурга, задание на весь семестр,
фигасе. в нью-джерси студенты пишут на си компилятор алгол-подобного языка, а самые продвинутые пишут с умным сборщиком мусора, оптимизации распределения переменных по регистрам и даже переупорядочиванию команд ЦП для создания очередей на запись/чтение совмещенных с выполнением операций в АЛУ. а самые-самые продвинутые даже распараллеливают выполнение однопоточного control flow на несколько цп.

язык, конечно, учебный. и очень простой. но это все-таки язык, причем компилируемый. плюс рантайм к нему. и все на си. правда не без помощи яка. но компилятор языка на несколько порядков сложнее калькулятора. это делают здесь: http://www.princeton.edu/ и это далеко не самый лучший университет.


A> причем сами всё, от и до, пишут процентов 13 студентов, 50 % не берут эту тему как сложную.

ИМХО это бесцельная трата сил и времени. вуз должен дать общую картину, а не вязнуть в узкой теме как в трясине. знаете, я очень удивился и обрадовался, когда узнал, что популярный плагин колорер для фара это дипломная работа. это очень хорошая и очень полезная работа. в результате которой на свет появился очень нужный инструмент. а писать 100500 раз никому не нужный калькулятор...
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[2]: # дао калькулятора (история первая)
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 13.02.14 11:21
Оценка:
Здравствуйте, elmal, Вы писали:

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


Судя по остаточным студенческим воспоминаниям, Prolog штука реально замечательная, но вот кто бы его помнил на приличном уровне после окончания ВУЗа? Он же крайне бесполезен в реальной практике.
Re: # дао калькулятора (история первая)
От: Артeм Австралия жж
Дата: 13.02.14 11:23
Оценка: +1
Здравствуйте, мыщъх, Вы писали:

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


http://ru.wikipedia.org/wiki/Алгоритм_сортировочной_станции

P.S. Видать, у вас в Америке кто-то соригинальничал и вместо разворота списка и виртуального деструктора, дал разбор выражений. Ну а другие альтернативно одаренные ботаны прочитали у оригинала в блоге и принялись подражать. Что ж, придется теперь держать еще кусочек бесполезного мусора в голове.
Re[3]: # дао калькулятора (история первая)
От: elmal  
Дата: 13.02.14 12:30
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Судя по остаточным студенческим воспоминаниям, Prolog штука реально замечательная, но вот кто бы его помнил на приличном уровне после окончания ВУЗа? Он же крайне бесполезен в реальной практике.

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

Главное возможности знать, а так по любому случаю придется в доку лезть, если хотя б полгода этим не занимался. Я вот с регулярными выражениями сталкиваюсь раз в полгода, и не смотря на то, что периодически освежаю в памяти это все, когда требуется первым делом гуглю, так как синтаксис забываю.
Re[4]: # дао калькулятора (история первая)
От: Michael7 Россия  
Дата: 13.02.14 13:25
Оценка:
Здравствуйте, artkarma, Вы писали:

М>>следующая история про калькулятор будет смешнее.

A>Вообще-то парсер мат выражений на С++ — это тема курсовой работы старших курсов в одном из ведущих технических вузов Санкт-Петербурга, задание на весь семестр, причем сами всё, от и до, пишут процентов 13 студентов, 50 % не берут эту тему как сложную.

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

К сожалению не могу вспомнить у какого фантаста читал рассказ, но там было про будущее в котором люди весьма сильно интеллектуально деградировали и куда попадает человек из настоящего в будущий НИИ. Там были такие отделы как точно не помню, но что-то вроде отдел дробей, отдел корней, еще какие-то, писались диссертации и т.п.
Re[6]: # дао калькулятора (история первая)
От: Michael7 Россия  
Дата: 13.02.14 13:32
Оценка:
Здравствуйте, Vzhyk, Вы писали:

V>Такого сразу лесом посылать. Из такого максимум, что можно получить —

V>это тупого исполнителя копать отсюда и до обеда.

Такие тоже нужны, а то все креативщики и нудно писать код не хотят
Re[5]: # дао калькулятора (история первая)
От: sergey2b ЮАР  
Дата: 13.02.14 13:32
Оценка:
Здравствуйте, мыщъх, Вы писали:

в ЛИТМО калькулятор с скобочками дом задание на 2 недели на первом курсе (пример есть дажве в первом издании K&R)
компилер small C + простая rtl курсовик на полгода
Re[3]: # дао калькулятора (история первая)
От: Michael7 Россия  
Дата: 13.02.14 13:36
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Судя по остаточным студенческим воспоминаниям, Prolog штука реально замечательная, но вот кто бы его помнил на приличном уровне после окончания ВУЗа? Он же крайне бесполезен в реальной практике.


Кстати, насчет практики. Не знаю, может байка, но слышал, что пролог использовался для написания чего-то вроде CAD для организации проектирования Бурана. Получилось сверхуспешно, но осталось уникальным примером.
Re[7]: # дао калькулятора (история первая)
От: Vzhyk  
Дата: 13.02.14 13:38
Оценка:
2/13/2014 4:32 PM, Michael7 пишет:

> Такие тоже нужны, а то все креативщики и нудно писать код не хотят

Ну тут хуже вариант был приведен, когда человек не может и не хочет
говорить. Как ты с таким работать будешь?
Или мы уже до той стадии высшего образования, когда только "креатившики"
говорить умеют, а остальные только мычать?
Posted via RSDN NNTP Server 2.1 beta
Re[4]: # дао калькулятора (история первая)
От: Vlad_SP  
Дата: 13.02.14 13:38
Оценка:
Здравствуйте, Michael7,

M>.... слышал, что пролог использовался для написания чего-то вроде CAD для организации проектирования Бурана.


Для организации проектирования или для проектирования?
Re[8]: # дао калькулятора (история первая)
От: Michael7 Россия  
Дата: 13.02.14 13:45
Оценка:
Здравствуйте, Vzhyk, Вы писали:

V>2/13/2014 4:32 PM, Michael7 пишет:


>> Такие тоже нужны, а то все креативщики и нудно писать код не хотят

V>Ну тут хуже вариант был приведен, когда человек не может и не хочет
V>говорить. Как ты с таким работать будешь?

Может у него аутизм? Писать код это часто не мешает, хотя общаться с таким трудно.

V>Или мы уже до той стадии высшего образования, когда только "креатившики"

V>говорить умеют, а остальные только мычать?

Надеюсь, что нет.
Re[5]: # дао калькулятора (история первая)
От: Michael7 Россия  
Дата: 13.02.14 13:48
Оценка:
Здравствуйте, Vlad_SP, Вы писали:

V_S>Здравствуйте, Michael7,


M>>.... слышал, что пролог использовался для написания чего-то вроде CAD для организации проектирования Бурана.


V_S>Для организации проектирования или для проектирования?


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