LINUX.ORG.RU

[C++?] Серьезный вопрос.


3

2

Просьба ответит серьезно, желательно с аргументами за или против.

Предистория:
Когда то давным давно (я тогда еще только закончил 9-ый класс) я увидел в газете объявление о наборе в летнюю группу по изучению классического программирования. В тот момент я был с компьютером на ты и "очень" хорошо в них разбирался (переустанавливал Windows каждый месяц, хаял Microsoft просто потому, что после моих настроек W приходилось постоянно переустанавливать). Группа по классическому программированию так и не набралась, но набралось 1 человек на Visual Basik for Applications. Я соглсился быть вторым и начались занятия.
Все, что мне там объясняли я схватывал быстро. Меня пригласили продолжить обучение в сентябре на курсе "моделирование".
Там уже был Pascal, который я тогда совсем не знал. Сам курс был очень разношорстный: мы изучали и использование мыши через прерывание, готовились к различным олимпиадам. Параллельно я изучил Pascal.
Потом был Delphi. К концу 10-го класса я уже неплохо владел приемами программирования и вовсю клепал бесполезные программулины. Потом поступил в универ на программиста. Там тоже был Delphi, и я особо не напрягаясь писал все лабы (к моменту поступления я уже был знаком с логикой указателей, самописные стеки и графы, etc).
На 2-ом курсе в гостях у знакомого я разобщался с человеком, который уже насколько лет работал в нерезиновой программистом. Он мне и открыл глаза на мир: "Delphi здох. Его уже похоронили и забыли. Сейчас необходимо знание C++, C#. Необходимо занание паттернов проектирование". Вобщем много чего он мне наговорил. Книжек умных насоветовал, подкинул MSVS 2008, кучу электронных книжек. Я изучил C# по книжке Шилдта. Читал "Идеальный кол" (автора уже не помню). Потом купил(!) себе книжку Шилдта про С++. Мне понравился язык. Тем более что мне казалось, что именно он и есть общепринятый стандарт. Наиболее удобный язык для программиста.

А недавно в соседней теме за упоминание это С++ меня чуть было не съели со всем чем можно. Так-то.

Собственно вопрос: Так стоит ли изучать дальше С++ (а я уже достаточно углубился в книжку Страуструпа, подробно изучая все подводные течения)? Какой язык стоит изучать? Какие из них более востребованны?

Спасибо всем, кто осилил это многобукаф.

★★★★★
Ответ на: комментарий от tailgunner

> Не, прикольнее было бы мочить Хаскель. Правда, у меня квалификации не хватает :/

Ты меня шокируешь... Когда это отсутствие квалификации кому-то на ЛОРе мешало что-то обсирать?

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

>а что считать недо-, сверх- и просто PC?

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

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

> большая часть благополучно удалена

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

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

> Когда это отсутствие квалификации кому-то на ЛОРе мешало что-то обсирать?

это даже плюс - чем меньше знаешь, тем тверже позиция и уверенней слова

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

ладно

есть у меня идея with LISP in mind
вот если разрожусь , через полгодика покажу на лоре :)
устроим знатное мочилово :)

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

>хотя и лисп мочить тяжело, из-за примитивности - мочить нечего

можно про космический корабель поговорить, с hot code swap'ом в критический момент. однажды тут уже эту задачу на С решали, было дело :)

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

> хотя и лисп мочить тяжело, из-за примитивности - мочить нечего

Точняк! Символы, cons, car, cdr, lambda, funcall, setf и всё - полный абзац, практически, брейнфак :(

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

> спасибо. можешь уточнить, с чем из моих поделок ты сравнил файл манагер на паскале и рисовалку формочек для fltk? а то я в сомнениях :)

я не сказал, что больше ничего не было - для, примера, у меня тоже был самописный плеер ( гораздо лучше чем то, что у тебя сейчас )

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

>недоPC -- это определенно приставки, которые вроде почти такие же клевые, как PC, но только безгранично убогие

я просто пытаюсь понять, с чем же я работаю. вроде и не PC, и не приставка :-/

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

>у меня тоже был самописный плеер ( гораздо лучше чем то, что у тебя сейчас )

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

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

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

> а defmacro?

Это сахар для eval-when. Вот многостадийную обработку тоже стоило упомянуть, плюс ещё забыл про специальные формы типа if.

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

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

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

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

> я не сказал, что больше ничего не было - для, примера, у меня тоже был самописный плеер ( гораздо лучше чем то, что у тебя сейчас )

в каком конкретно месте он был лучше? где его можно увидеть/послушать? или он был настолько офигительный, что ты его удалил, дабы врагам не достался?

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

>cons, car, cdr, lambda, funcall, setf

Пфф, такое только совсем уж непосвещенных испугает. Пугать надо c[ad]{1,4}r.

(cadddr (cddddr '(1 2 3 4 5 6 7 8)))

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

> в каком конкретно месте он был лучше? где его можно увидеть/послушать? или он был настолько офигительный, что ты его удалил, дабы врагам не достался?

не нервничай - пиши дальше свой плеер, тебя явно ждет успех ;)

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

> А вот в Хаскеле, говорят, спецформы не нужны.

Да, у них сайд эффекты в функциональном стиле делаются.

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

>А вот в Хаскеле, говорят, спецформы не нужны.

хаскель вообще куда проще лиспа :)

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

>> маленьких не ем
> Java? COBOL? Forth?

COBOL - никто не придет защищать
Forth - форт маленький трогать нельзя
Java - надо звать svu

>> язык тяжелый и заумный
> ну вот ещё :(

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

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

> (cadddr (cddddr '(1 2 3 4 5 6 7 8)))

Имхо, это самое простое и понятное, что в лиспе есть. Вот когда в макросе какая-то херота на loop'е накручена, вот это страшно выглядит.

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

>У меня был конвертер на ассемблере из bmp в спектрумовский скрин, который почти никогда не работал.

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

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

> не нервничай - пиши дальше свой плеер, тебя явно ждет успех ;)

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

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

>> хотя и лисп мочить тяжело, из-за примитивности - мочить нечего

> Точняк! Символы, cons, car, cdr, lambda, funcall, setf и всё - полный абзац, практически, брейнфак :(

отцы основатели говорили, что car, cdr, atom достоточно, что бы создать все остальное

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

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

Как там после солнечной Украины в дождливой и мрачной Дании живётся? Депрессий не случается?

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

>Как там после солнечной Украины в дождливой и мрачной Дании живётся? Депрессий не случается?

дык там же Христиания есть - даже в Амстердам ехать не надо, позитив под боком

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

>Java - надо звать svu

ну так давайте же дружно позовём svu!

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

> Как там после солнечной Украины в дождливой и мрачной Дании живётся? Депрессий не случается?

холодновато летом. депрессий пока не случалось.

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

>> А вот в Хаскеле, говорят, спецформы не нужны.

>вот и меня интересует вопрос, а нужны ли они реально в лиспе

Минимальный сет операций обозначен в Unlambda. Но и там есть сахарок.

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

>> нет, сам не понимаю
> сам не понимаешь что придумал?

меня заинтересовал вопрос
возможен ли абсолютно линейный типизированный в стиле ADT лисп
по другому:
Forth <-> Smalltalk (не к ночи java) связка известна
а Lisp <-> X - что это есть такое ?

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

>вот и меня интересует вопрос, а нужны ли они реально в лиспе

нужны ли лиспу спецформы? нужны ли лиспу функции? нужен ли лиспу лисп?

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

> холодновато летом. депрессий пока не случалось.

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

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

>Forth <-> Smalltalk (не к ночи java) связка известна

поясни, мне неизвестна

>возможен ли абсолютно линейный типизированный в стиле ADT лисп

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

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

по другому: :)

если оставатся в рамках концепции Lisp каков будет ООП
что появится, что исчезнет

по другому: :)

функциональщики говорят - все есть функция, LISP примазался тем что сказал что список - то-же функция.
А если не примазыватся и сказать все есть списки ?

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

>LISP примазался тем что сказал что список - то-же функция

разве? и какой у неё тип?

>А если не примазыватся и сказать все есть списки ?

я не совсем понимаю, чего именно ты хочешь, но посмотри на REBOL - там списочная гомоиконность вроде сохранена

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

>> если оставатся в рамках концепции Lisp каков будет ООП
> CLOS http://en.wikipedia.org/wiki/Common_Lisp_Object_System

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

в общем, пока сам четко не сформулировал


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

разве? и какой у неё тип?

Да гонит он.

(subtypep (type-of (list 1 2 3))
	  (type-of (lambda ())))
=> NIL, T

(subtypep (type-of (lambda ()))
	  (type-of (list 1 2 3)))
=> NIL, T

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

> наверное, только меня интересует, какова должна быть минимальная (или около этого) система.

Минимальная в каком плане?

> и хочу скопинг,


В какое место хочешь scoping?

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

вообще-то - (lambda ()) - это список
а что там думает subtypep меня не интересует :)

>> наверное, только меня интересует, какова должна быть минимальная (или около этого) система.
> Минимальная в каком плане?

вся должна быть написана на ассемблере x86 например :)

>> и хочу скопинг,
> В какое место хочешь scoping?

что-бы два раза: (def name) (def name) в одном модуле было правомерно и я бы имел бы доступ к двум разным сущностям

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