Асм для вычислений был няшен во времена DOS. Т.е. когда кто-то еще задумывался об оптимизации кода. Сейчас считается дешевле железа докупить и писать на том, на чем быстрее пишется. Вспомнил еще классный язык для поиграться - Fort. Все построено на операциях со стеком. Для людей очень увлекающихся. Начинал тоже с Pascal/C/ASM, пробовал Java, но как-то не срослось. Потом PHP, Perl, Ruby. Ruby забавная штука, там даже числа объекты. Чистый синтаксис, читаемый код (если это не метапрограммирование, там все сложнее немного). В общем пока на Ruby остановился, но посматриваю что бы еще подучить для расширения кругозора.
rootproc, Руби да, очень хвалят. Сам не копал, потому что в последнее время не больше другими вещами интересуюсь. А так, у меня сейчас касательно языков крутятся две полубезумных идеи про вычислимые строки (знатоки говорят, что нечто подобное реализовано в Лисп) и многопоточное программирование (по задумке напоминает разработку электронных схем), но пока совершенно не представляю, когда будет достаточный подрыв для того, чтобы попробовать это реализовать
Когда-то, давно тому назад (лет, наверное, больше 20) мы с одним человеком делали что-то подобное на васике (интертрепаторе)...Причем МЫ - громко сказано. Его заслуга в этом. Я у него просто учился. Разбор строки, генерация кода и вставка его в исходный. Т.е. вычисляемая формула вводилась с клавиатуры с ключевыми словами/знаками, транслировалась по определенным правилам, вставлялась в исходный текст с нумерацией строк с запасом и на него передавалось управление по GOTO. Причем, делалось это на чем-то древнем (Агат, ЕС-1840, СМ-4 (или 1420)...) ЗЫ. Кто помнит - был в политехе такой человек на каф. "Высшая математика" - Виноградов Михаил Александрович. Не знаю, работает ли сейчас.
Руби довольно быстро можно освоить, вот для пробы: http://tryruby.org Многопоточность лучше всего в функциональных языках реализована, например в Erlang, Scala. Иммутабельность переменных, следовательно отсутствие блокировок, и многопоточный код становится очень простым. Хотя и для "обычных" языков есть всякие библиотеки, упрощающие распараллеливание.
рекомендую изучать реализацию алгоритмов на примере Паскаля. а вот классика всех времен и народов http://www.ois.org.ua/spravka/mat/Virt-Algoritmi-programmi.htm http://www.labirint.ru/books/236988/ http://www.ozon.ru/context/detail/id/1039964/ и на закуску http://www.ozon.ru/context/detail/id/83760/
Странная подборка. Особенно последняя книга, которая не нужна для обычного программиста, который является исполнителем (без людей в подчинении). Такая подборка наведет скуку на кого угодно. Начинать надо с того, что интересно, и с практики. И помогут качественные видеокурсы.
Ты права то тут не качай. Здесь, как в очереди за зарплатой или в бане все равны. Потому что я почему то уверен, что ты эти книги не читал, а если и читал то минимум половину в них не понял. Кстати это ты что реально на преспективу предлагаешь изучать Паскаль, да ещё сразу по книге, где в анотации написанно:
---------- Сообщение добавлено 28.03.2013 11:18 ---------- да я не и не качаю права. я вполне вежливо попросил. но, как оказалось, против быдло-люмпеновских замашек это не действует. только я ведь тоже могу люмпеном оказаться по жизни и н х%й послать, а могу и интеллегентом - буду просто презирать как низшее существо ---------- Сообщение добавлено 28.03.2013 11:19 ---------- пожалуй, я все-таки пошлю. ---------- Сообщение добавлено 28.03.2013 11:20 ---------- неужели сейчас другие люди пошли? я ведь привел то, что как раз интересно. я ее специально указал, потому как (это мое мнение) это книга не столько о программировании, а о жизни. а то, что там про жизнь рассказывается на примере программирования - это, я считаю, дополнительным плюсом. если такие книги не читать, то всю жизнь останешься исполнителем, а если читать, то даже если не хочешь быть начальником, то, может быть, достигнешь уровня ИСПОЛНИТЕЛЯ. ---------- Сообщение добавлено 28.03.2013 11:33 ---------- А Вы попробуйте почитать Бредли. Он интересно пишет, скучно не будет. Я лично считаю скучноватой вот эту книгу http://profismart.ru/web/bookreader-133363.php поэтому ее и не стал приводить. хотя ее тоже нужно прочитать.
Как человек, которому пришлось изучать паскаль, могу сказать, что это потеря времени. Я понимаю, что наша система образования иногда такие фортеля выкидывает, но по собственной воле зачем эту каку трогать?
The Last Winged, Быть программистом в подчинении - это ещё большая потеря времени, чем изучение бейсика, ня! ^_^ rootproc, А вот почему, кстати? То есть, я не считаю себя достаточно компетентным для того, чтобы ставить вопрос о том, насколько актуальным или неактуальным может быть сейчас язык. Но в своё время начинал с Паскаля (нам его в школе давали), и в принципе для понимания, что такое программирование, он подходит. Тем более что если учесть человекообразный синтаксис в противовес более техническому Си. P.S. Ресурс по Ruby прикольный, спасибо mirsoft, Прикольно . У меня идея основная была в том, чтобы поэкспериментировать с идеей "результатом вычисления строки является строка, результатом вычисления строки как числа является попытка представить строку в виде математического выражения", и так далее. Если к этому добавить возможность создавать перекрёстные ссылки вроде "при интерпретации такого-то символа подтягиваются данные вот оттуда-то" или "при интерпретации такой-то последовательности инициируется новая задача" могло бы получиться нечто интересное... наверное Касательно древних PC помню Ассемблер для 8080... Нам его зачем-то в Политехе давали - изврат тот ещё
да потому что у rootproc бардак в голове. Язык Паскаль был специально создан для того, что обучать студентов структурному программированию. И создавал его преподаватель.
я конечно извиняюсь... но не надо изучать языки программирования. Тупиковое это занятие в плане успешной карьеры... полностью тупиковое... Хотя, конечно, программирование, как таковое - очень интересное занятие.
В малых дозах пиво полезно в любых количествах. Беда в том, что нам пришлось с паскалем в политехе пять с половиной лет мучаться. Паскаль, делфи... Учили ему, ничего другого не знали, тупо не было времени переучиваться. Когда в реальных приложениях пытаешься его применить, он проявляет себя с плохих сторон. Язык то учебный. Ну и время, затраченное на его изучение, по большей части - выкинутое время. Попробуйте найти на www.indeed.com работу по слову Pascal, и, скажем Python, станет понятно о чем я. Особенно ярким становится сравнение, если поискать работу и обратить внимание, сколько платят спецам по Python с опытом 5+ лет. Я не зря Python для сравнения привожу. Если бы не косность наших вузовских преподов, этот язык давно был бы учебным вместо паскаля. Ruby вряд ли на эту роль подойдет, язык довольно своеобразный. А к Python придраться сложнее. Далее - codeschool.com, там не только руби. Много яваскрипта, гит, html, css, iOS. Есть бесплатные курсы, и для платных как правило (или для всех?) первый урок бесплатно. Знание английского приветствуется
The Last Winged, Вы про разное говорите. Он про карьеру, а Вы про зарплату. ---------- Сообщение добавлено 28.03.2013 18:20 ---------- MacOS написана на Паскале. ---------- Сообщение добавлено 28.03.2013 18:22 ---------- Вас не тому учили и не так как надо. Паскаль тут ни при чем. Логически думать тоже не научили?
Вам классику или поржать? Классика вот: http://www.lysator.liu.se/c/bwk-on-pascal.html Кое-что было исправлено в последующих версиях паскаля, но не все. Грабли, на которые наталкивался лично я, сейчас и не припомню. Это было почти 20 лет назад. Поржать ищите на лурке. Там с матюками, но подробнее. Это just for fun. Что-то полезное вот: https://www.coursera.org/course/progfun (для некоторых лекций можно включить русские субтитры, английские доступны для всех). Определение функций внутри функций меня впечатлило. Например, в Ruby, чтобы избавиться от data clamp, надо выносить набор функций в отдельный класс и передавать данные через переменные экземпляра. Сложность в том, что бывает довольно непросто понять, что и как выносить. А здесь просто определяем функции внутри другой функции и получаем local scope в чистом виде! То же можно и в яваскрипт сделать, но в Scala намного красивее получается, IMHO.
поржал над этой классикой: какой смысл в документе с проблемами 32-летней давности? это вообще ниочем. т.е. прошел мимо таких вещей, как turbo/borland/object pascal/delphi. вполне себе, промышленный язык и платформа. из которой, потом, кучу концепций перенял шарп. в скала впечатлило, а в паскакале, значит, не впечатлило
К сожалению нет, с турбопаскаля начал году так в 94-м, дельфями закончил году так в 99-м. Но это для лаб и курсовых всяческих. К старшим курсам подучил маткад, и дипломы делал на нем. Вообще паскаль - любимый язык преподов, а с ними спорить тяжело, они самые умные, и всегда и во всем правы. Поэтому в споры не вступаю, просто высказал свое мнение относительно этого мертвого (как латынь) языка.
аа.. тогда основа для такого экспертного заключения понятна)) 99 год это версия 4-5 наверно. а ничего, что этот мертвый язык получился настолько удачным и так быстро развивался, что MS переманили из борланда его разработчика? так что у Turbo Pascal, Delphi и C# один автор Delphi оказал огромное влияние на создание концепции языка C# для платформы .NET.Многие его элементы и концептуальные решения вошли в состав С#. это примерно как говорить, что Visual Basic шлак, поработав в 1985 году с QBASIC. начинать сейчас с изучения Делфи, как старта для карьеры, не стоит. но объемы кода на нём гиганские. работы немеряно.
вот это сделано на Delphi [ame]http://youtu.be/zQkfbiju8CY[/ame] ---------- Сообщение добавлено 31.03.2013 00:32 ---------- туда же Skype ---------- Сообщение добавлено 31.03.2013 00:32 ---------- а небезызвестный редактор TeX, можно сказать, написан на Паскале
uncertainty, понятно, что многое на нем сделано, и он был отличным инструментом для этого. Это legacy-код. Но зачем учить делфи сейчас?
The Last Winged, не дельфи, а паскаль! есть различные парадигмы программирования: императивное, логическое, функциональное, структурное, декларативное, объектно-ориентированное, процедурное, аспектное, автоматное, рекурсивное, порождающее, событийно-ориентированное, компонентно ориентированное и т.д. типа прототипного, все уже не помню. но систематизация, построение теории, было в первую очередь для структурного. Если мы начнем изучать любые другие виды, то все равно возникнет вопрос "а почему так?" и все равно придется изучать структурное.