VirtualIreland.ru - Виртуальная Ирландия
Вернуться   VirtualIreland.ru - Виртуальная Ирландия > Все об Ирландии > Образование

Образование Все для студентов: университеты, организации, английский язык в Ирландии, оформление студенческих виз.

Ответ
 
Опции темы Опции просмотра
Старый 07.06.2013, 14:01   #46
My name is Exaybachay
 
Аватар для KaraNagai
 
Откуда: Дублин, Ирландия
Сообщений: 21,481
Благодарности: 12,152 в 4,948 сообщениях Поиск благодарностей KaraNagai
По умолчанию Re: Уроки программирования на языке С и С++

Цитата:
Сообщение от vc Посмотреть сообщение
как именно работает синтаксический разбор компилятора
хехехе нуну. за всю свою скромную карьеру, ниразу не встречал программера, хороше секущего в синтаксическом разборе нетривиальных конструкций, кроме тех, кому этим приходилось на деле заниматься независимо от языка, кстати.

вообще по-моему это - совсем не главное преимущество С++.

а что он джаву покрывает - это, конечно, правда.
__________________
митьки никого не хотят победить
KaraNagai вне форума   Ответить с цитированием

Зарегистрируйтесь или войдите под своим именем, чтобы спрятать этот рекламный блок
Старый 07.06.2013, 14:42   #47
Активный Участник
 
Сообщений: 467
Благодарности: 298 в 173 сообщениях Поиск благодарностей Vasis
По умолчанию Re: Уроки программирования на языке С и С++

Интересное дело, что выучив язык (а то и не один) с точки зрения синтаксиса - программистом (Software Engineer) не станешь. Как и с натуральными языками, будешь на нем мямлить (а иногда и сквернословить), но не красиво говорить, и тем более не писать поэмы или собрания сочинений.

Нужно учить платформу, экосистему, библиотеки, фреймворки, паттерны проектирования и многое другое. Именно проектирование систем, а не написание алгоритмов - самое интересное, имхо.

Помимо этого желателен хороший пласт Computer Science, особенно в low-level вещах.

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

Вот интересная матрица компетенций программиста. Очень полезно показать такую людям, которые думают, что программисты только и делают, что в инете сидят.
http://sijinjoseph.com/programmer-competency-matrix/
Vasis вне форума   Ответить с цитированием
Благодарность от:
KaraNagai (07.06.2013)
Старый 07.06.2013, 14:45   #48
Заслуженный Участник
 
Сообщений: 2,674
Благодарности: 1,787 в 888 сообщениях Поиск благодарностей Конный Водолаз
По умолчанию Re: Уроки программирования на языке С и С++

Цитата:
Сообщение от KaraNagai Посмотреть сообщение
Если речь о выразительных возможностях, то как раз С++ неплохо их покрывает.
Это вопрос терминологии. Кто-то называет это выразительными возможностями, а кто-то — богатством способов отстрелить себе ногу
Конный Водолаз вне форума   Ответить с цитированием
Старый 07.06.2013, 14:46   #49
Заслуженный Участник
 
Аватар для ixania
 
Сообщений: 2,951
Благодарности: 1,004 в 534 сообщениях Поиск благодарностей ixania
По умолчанию Re: Уроки программирования на языке С и С++

Цитата:
Сообщение от Chronos Посмотреть сообщение
Что такое "не очень"? Берем IrishJobs.ie и смотрим (даже с учетом того, что множество повторов от разных агенств и нахлестов в спецификациях, которые, для простоты, предположим равными для всех об'явлений), на сегодня:

Java: 686 работ
.НЕТ: 363 (из чего 324 C#)
C/C++: 298 работ (из чего 81 ембеддед)
Phyton: 176 работ
PHP: 157 работ
Perl: 134
Руби. : 94 работы

По сравнению с Явой все остальные "не очень продаваемые", да. Если отличие в 2 раза уже обозначает "не очень"

С другой стороны, погоня за продаваемостью вещь понятная, но, в долгосрочной перспективе, бесперспективная. Лучше быть гуру с опытом работы 20 лет в А, чем дилeтaнтом во всем понемногу: А, B, C и D.
Следовать за модой хорoshо тряпки покупая, - не жалко выкинуть. А выкинуть 5-10 лет жизни как-то тоскливо...
Эти цифры не очень показательны с точки зрения выбора языка для заработать на хлеб, нужно еще нарыть количество девов на одну ванкансию ИМХО

ixania добавил 07.06.2013 в 15:49
Цитата:
Сообщение от Конный Водолаз Посмотреть сообщение
Это вопрос терминологии. Кто-то называет это выразительными возможностями, а кто-то — богатством способов отстрелить себе ногу
волков бояться — в лес не ходить
__________________
Complaining Is Stupid. Either Act or Forget.

Последний раз редактировалось ixania, 07.06.2013 в 14:49. Причина: Добавлено сообщение
ixania вне форума   Ответить с цитированием
Старый 07.06.2013, 15:37   #50
Заслуженный Участник
 
Сообщений: 2,674
Благодарности: 1,787 в 888 сообщениях Поиск благодарностей Конный Водолаз
По умолчанию Re: Уроки программирования на языке С и С++

Цитата:
Сообщение от Vasis Посмотреть сообщение
Вот интересная матрица компетенций программиста. Очень полезно показать такую людям, которые думают, что программисты только и делают, что в инете сидят.
http://sijinjoseph.com/programmer-competency-matrix/
Все правильно, но над некоторыми пунктами поржал:
1. "Concurrent (Erlang, Oz) and Logic (Prolog)" — а, к примеру, виндовз программистам тоже надо на Erlang переходить, чтобы считаться top-notch, или им можно и дальше на С#/С++ работать?
2. "Maintains a blog in which personal insights and thoughts on programming are shared" — бггг... И класснички, ага.
3. "platforms with professional experience 6+". Я бы даже не рассматривал резюме, в котором написано, что автор на профессиональном уровне владеет 6+ платформами.
4. "Has his own library to help with defensive coding". Представил себе компанию, в которой над продуктом работает, скажем, 10-20-50-100 программистов. И каждый из них со своей уникальной (и, всенепременно, next generation) библиотекой хлама на работу приходит. Можно сразу повеситься.

И самая главная компетенция level 3 программиста: "Has tried out Bzr/Mercurial/Darcs/Git". Tried out! Во как.
Конный Водолаз вне форума   Ответить с цитированием
Благодарность от:
Vasis (08.06.2013)
Старый 07.06.2013, 16:06   #51
Заслуженный Участник
 
Сообщений: 909
Благодарности: 614 в 352 сообщениях Поиск благодарностей deniszb
По умолчанию Re: Уроки программирования на языке С и С++

А почему никто не советует SQL?
Так трудно найти того, кто хотя бы табличку снизу осилит.

deniszb вне форума   Ответить с цитированием
Старый 07.06.2013, 16:13   #52
Заслуженный Участник
 
Сообщений: 2,674
Благодарности: 1,787 в 888 сообщениях Поиск благодарностей Конный Водолаз
По умолчанию Re: Уроки программирования на языке С и С++

SQL — это скушно.
Конный Водолаз вне форума   Ответить с цитированием
Старый 07.06.2013, 16:33   #53
My name is Exaybachay
 
Аватар для KaraNagai
 
Откуда: Дублин, Ирландия
Сообщений: 21,481
Благодарности: 12,152 в 4,948 сообщениях Поиск благодарностей KaraNagai
По умолчанию Re: Уроки программирования на языке С и С++

Цитата:
Сообщение от deniszb Посмотреть сообщение
А почему никто не советует SQL?
Потому что это не язык программирования? Хотя надо сказать знакомство с СУБД - полезный навык, это да.

Цитата:
Сообщение от deniszb Посмотреть сообщение
Так трудно найти того, кто хотя бы табличку снизу осилит.
100К в год и я ваш )))

А если серьёзно - ты пошутил так что ли? Любой студент более-менее вменяемый тебе эту табличку осилит.
__________________
митьки никого не хотят победить
KaraNagai вне форума   Ответить с цитированием
Благодарностей: 2 от:
Vasis (08.06.2013), Конный Водолаз (07.06.2013)
Старый 07.06.2013, 22:39   #54
Спам-робот
 
Аватар для vc
 
Сообщений: 31,257
Благодарности: 21,993 в 10,697 сообщениях Поиск благодарностей vc
По умолчанию Re: Уроки программирования на языке С и С++

Цитата:
Сообщение от KaraNagai Посмотреть сообщение
100К в год и я ваш )))
Это ты сейчас m50 компенсировать хочешь?
vc вне форума   Ответить с цитированием
Старый 07.06.2013, 22:46   #55
My name is Exaybachay
 
Аватар для KaraNagai
 
Откуда: Дублин, Ирландия
Сообщений: 21,481
Благодарности: 12,152 в 4,948 сообщениях Поиск благодарностей KaraNagai
По умолчанию Re: Уроки программирования на языке С и С++

Цитата:
Сообщение от vc Посмотреть сообщение
Это ты сейчас m50 компенсировать хочешь?
не, из одного лишь человеколюбия. думаю раз не найти людям человека - почему бы им за скромную сумму не помочь?
__________________
митьки никого не хотят победить
KaraNagai вне форума   Ответить с цитированием
Благодарностей: 2 от:
vc (07.06.2013), Конный Водолаз (08.06.2013)
Старый 08.06.2013, 00:41   #56
Заслуженный Участник
 
Сообщений: 1,228
Благодарности: 438 в 286 сообщениях Поиск благодарностей Kot
По умолчанию Re: Уроки программирования на языке С и С++

Цитата:
Сообщение от vc Посмотреть сообщение
Java покрывает возможности плюсов?)))
А шо она там не покрывает? Вы знаете, я вот думаю шо практически любой современный язык, в конечном счете сводится к виртуальной таблице вызовов. Просто где-то шо-то записывается короче (хотя и не всегда ето хорошо, ИМХО).
Цитата:
Сообщение от vc Посмотреть сообщение
А Питон возможности Перла?
Я, признаться, так и не подружился с Питоном (скоуп задавемый количеством пробелов - шо обшество с цветовой дифференциацией штанов). Но если сравнивать его с Перлом... А де разница? Тот же язык с поздним связыванием... Те же проблемы если код превышает Н строк и пишется числом разработчиков больше чем М. Если шото простое, то почему не просто Баш?

Kot добавил 08.06.2013 в 01:52
Цитата:
Сообщение от ixania Посмотреть сообщение
волков бояться — в лес не ходить
С другой стороны, а зачем себе придумывать проблемы на ровном месте?

Джавовский компиллер по сути не делает ничего потому шо вся механическая оптимизация делается ЖИТом (такой себе аналог О3, но с большим горизонтом оптимизации). И у меня были случаи когда Джава рвала С как тузик грелку (не смотря на то шо сама она ведь написана на С, прикольно?).

Алгоритмы, вот шо важно. Механика ето так - конечная шлифовка. А для изучения алгоритмов и Питон подойдет.

Последний раз редактировалось Kot, 08.06.2013 в 00:52. Причина: Добавлено сообщение
Kot вне форума   Ответить с цитированием
Благодарность от:
Старый 08.06.2013, 01:50   #57
Спам-робот
 
Аватар для vc
 
Сообщений: 31,257
Благодарности: 21,993 в 10,697 сообщениях Поиск благодарностей vc
По умолчанию Re: Уроки программирования на языке С и С++

Цитата:
Сообщение от Kot Посмотреть сообщение
А шо она там не покрывает? Вы знаете, я вот думаю шо практически любой современный язык, в конечном счете сводится к виртуальной таблице вызовов.
1)Условное линкование кода (неиспользуемые шаблонные инстансы выкидываются)
2)true- абстрактные алгоритмы.(Попробуйте на жабе написать алгоритм сортировки массива из 4 млрд элементов?)
3)ну и прочие бонусы, которые можно делать с шаблонами/перезагруженными операторами

Цитата:
Сообщение от Kot Посмотреть сообщение
И у меня были случаи когда Джава рвала С как тузик грелку (не смотря на то шо сама она ведь написана на С, прикольно?).
Наверное по памятежоркости?))) Нет никаких предпосылок для быстродействия жабы, а вот наоборот есть:

Например: Алгоритмы оптимизируются под типы.
vc вне форума   Ответить с цитированием
Старый 08.06.2013, 08:23   #58
Активный Участник
 
Сообщений: 467
Благодарности: 298 в 173 сообщениях Поиск благодарностей Vasis
По умолчанию Re: Уроки программирования на языке С и С++

Ну конечно некоторые пункты не вяжутся или, возможно, устарели, или слишком конкретны, но зерно истины то есть.

Цитата:
Сообщение от Конный Водолаз Посмотреть сообщение
Все правильно, но над некоторыми пунктами поржал:
1. "Concurrent (Erlang, Oz) and Logic (Prolog)" — а, к примеру, виндовз программистам тоже надо на Erlang переходить, чтобы считаться top-notch, или им можно и дальше на С#/С++ работать?
Ну левел 3 же не "виндовз программист", а как минимум 6+ платформ .
Цитата:
Сообщение от Конный Водолаз Посмотреть сообщение
2. "Maintains a blog in which personal insights and thoughts on programming are shared" — бггг... И класснички, ага.
Ничего смешного не вижу. Это конечно не показатель, но однозначно плюс. А некоторые еще и на конференциях выступают.
Цитата:
Сообщение от Конный Водолаз Посмотреть сообщение
3. "platforms with professional experience 6+". Я бы даже не рассматривал резюме, в котором написано, что автор на профессиональном уровне владеет 6+ платформами.
Не 6 так 3 звучат вполне убедительно. За 10 лет можно много где поработать. И поперескакивать на разные платформы. Вовсе не значит что они равнозначно круто прокачаны. Имеется ввиду что есть профессиональный опыт, а не что является гуру в каждой из 6ти (это невозможно). Да и забываются/устаревают знания, пока в другой области работаешь.

Цитата:
Сообщение от Конный Водолаз Посмотреть сообщение
4. "Has his own library to help with defensive coding". Представил себе компанию, в которой над продуктом работает, скажем, 10-20-50-100 программистов. И каждый из них со своей уникальной (и, всенепременно, next generation) библиотекой хлама на работу приходит. Можно сразу повеситься.
Из 100 человек только 10 может левел 3 будут. Так что уже 10 библиотек хлама. А ведь у этих 10 еще супер коммуникейшен скилл. Они слепят одну библиотеку.

Мне тоже не понятно что имеется ввиду. Значит на левел 3 еще не тяну.
Цитата:
Сообщение от Конный Водолаз Посмотреть сообщение
И самая главная компетенция level 3 программиста: "Has tried out Bzr/Mercurial/Darcs/Git". Tried out! Во как.
Видимо это писалось на заре зарождения DVCS. Чувствуется, что подчеркивается новизна. Устарело.

Последний раз редактировалось Vasis, 08.06.2013 в 08:28.
Vasis вне форума   Ответить с цитированием

Зарегистрируйтесь или войдите под своим именем, чтобы спрятать этот рекламный блок
Старый 08.06.2013, 08:31   #59
My name is Exaybachay
 
Аватар для KaraNagai
 
Откуда: Дублин, Ирландия
Сообщений: 21,481
Благодарности: 12,152 в 4,948 сообщениях Поиск благодарностей KaraNagai
По умолчанию Re: Уроки программирования на языке С и С++

С++ - это прежде всего больший контроль над памятью, множественное наследование и темплейты (ну понятно, что генерики в джаве появились в какой-то момент, но в С++ это - уже старая фича, активно юзаемая и немного более продвинутая изначально имхо). Плюс возможность сваливаться на очень низкоуровневый синтаксис. Джава всё же - язык высокого уровня в чистом виде, а С++ - это штука всеобёемлющая.

Другое дело, что для большинстве прикладных задач всеобъемлющие штуки не нужны ни нафиг.


Цитата:
Сообщение от Kot Посмотреть сообщение
Алгоритмы, вот шо важно.
Для разработчиков в массе своей алгоритмы не так важны. Важно адекватное отражение понятий задачи в коде. На что накладывает отпечаток выбор языка, платформы, технологии доступа к данным и т.п.


Цитата:
Сообщение от Kot Посмотреть сообщение
И у меня были случаи когда Джава рвала С как тузик грелку
Я как-то гонял machine learning алгоритмы специально одинаково (ну насколько возможно) реализованные на джаве и на С++. Разница в моем случае была по производительности в два раза где-то в среднем (ну с некоторым разбросом) в пользу С++. Но это были алгоритмы в существенной степени вычислительные и активно работающие с данными в памяти.

В большинстве же прикладных задач, особенно когда доступна шустрая библиотека для UI, влияние выбора языка не такое большое, мне кажется. Гораздо важнее, насколько разработчики доступны сносно владеющие этим средством.
__________________
митьки никого не хотят победить
KaraNagai вне форума   Ответить с цитированием
Старый 08.06.2013, 10:15   #60
Заслуженный Участник
 
Сообщений: 1,228
Благодарности: 438 в 286 сообщениях Поиск благодарностей Kot
По умолчанию Re: Уроки программирования на языке С и С++

Цитата:
Сообщение от vc Посмотреть сообщение
1)Условное линкование кода (неиспользуемые шаблонные инстансы выкидываются)
В Джаве мертвый код выбрасывается по умолчанию.
Цитата:
Сообщение от vc Посмотреть сообщение
2)true- абстрактные алгоритмы.(Попробуйте на жабе написать алгоритм сортировки массива из 4 млрд элементов?)
А зачем такие абстракции? Просто Мерж сортировка не сможет помочь Пенсионеру всея Ирландии?
Цитата:
Сообщение от vc Посмотреть сообщение
3)ну и прочие бонусы, которые можно делать с шаблонами/перезагруженными операторами
О, вы не представляете какие плюшки становятся доступны в рунтайме!.. После девиртуализации (когда нет полиморфизма) и инлайна методов, простор для выбрасывания мусора и оптимизации вообсче расширяются. В С (и плюсатом) ета просто невозможно потому что мы можем говорить только о статике.

Опять же, я не говорю шо С сосет. Для своего рода задач, без него никак. Более того, Джава ето и есть С, такая себе надстройка, которая позволяет не заморачиваться с платформ-специфик вещами давая возможность сконцентрироваться на логике. Но говорить шо синтаксически Джава беднее - не совсем правда. Правильно?

Kot добавил 08.06.2013 в 11:35
Цитата:
Сообщение от KaraNagai Посмотреть сообщение
множественное наследование
Только за ето С (понятно плюсатое) можно просто ненавидеть. Ето извращение. К стати дженерикс совсем и близко не темплейты. (Они не доступны в рантайме.) Ето просто плюшка для более строгой типизации.

Вообше нет смысла прямо сравнивать фичи етих языков. В Джаве главное писать попроше, механику лучше сделает ЖИТ, у него все карты. С же ориентируется на статическую оптимизацию. Но тут и платформозависимость да и просто квалификация программиста будет играть большую роль. В больших проектах ето будет скорее недостатком.
Цитата:
Сообщение от KaraNagai Посмотреть сообщение
Для разработчиков в массе своей алгоритмы не так важны. Важно адекватное отражение понятий задачи в коде.
Правильно, отражение... Умение разложить задачу на мелкие и привести их к узнаваемым алгоритмам.
Цитата:
Сообщение от KaraNagai Посмотреть сообщение
На что накладывает отпечаток выбор языка, платформы, технологии доступа к данным и т.п.
Ето больше на читаемость кода. Но опять же, кто к чему привык. Правильно?
Цитата:
Сообщение от KaraNagai Посмотреть сообщение
Я как-то гонял machine learning алгоритмы специально одинаково (ну насколько возможно) реализованные на джаве и на С++
Ето изначально глупо. Писать на Джаве, нужно джаву.
Попробуйте (в Джаве) померять производительность прямого цикла и реверсного. (Да, микробенчмарк, но добится устойчивого результат таки можно.) А все почему? Потому шо ЖИТ оптимизирует прямой лучше.

Kot добавил 08.06.2013 в 11:58
Цитата:
Сообщение от KaraNagai Посмотреть сообщение
С++ - это прежде всего больший контроль над памятью
Про память - ето отдельная песня. Джава предоставляет еффективный и вполне управляемый ЖЦ. Почему не многие используют его возможности, а вместо етого изобретают свой лисапед, для меня всегда была загадка.

Интелект, в первую очередь, ето способность приспосабливаться к среде. Так давайте пользоваться нашим интеллектом.

Kot добавил 08.06.2013 в 12:01
Цитата:
Сообщение от KaraNagai Посмотреть сообщение
Гораздо важнее, насколько разработчики доступны сносно владеющие этим средством.
Не совсем так. Сапли/деманд влияет только на компенсацию (разрабитчикам). А вот писать нужно на том чем команда владеет лучше. Если у вас сильная команда Сшников, пишите на С и не заморачивайтесь.

Последний раз редактировалось Kot, 08.06.2013 в 11:01. Причина: Добавлено сообщение
Kot вне форума   Ответить с цитированием
Ответ

Ключевые слова
программирование, программист, с++, уроки программирования



Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать на сообщения
Вы не можете добавлять вложения
Вы не можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщ.
GECCO2011 - любителям компьютерных наук и программирования bobba IT и Связь 2 12.07.2011 17:13
Язва на языке vetlen Наши дети 5 31.03.2010 08:33
Бьерн Страуструп. Язык программирования С++ S.R. IT и Связь 9 25.06.2008 11:36
О языке Celestin Образование 4 03.01.2004 21:27


Часовой пояс GMT, времени сейчас: 21:22.


vBulletin®, Copyright ©2000-2025, Jelsoft Enterprises Ltd., Русификация: zCarot, Vovan & Co
©2003-2025 VirtualIreland.ru - Виртуальная Ирландия