![]() |
|
Модераторы: Daevaorn |
![]()
|
|
||
|
|
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 15 Всего: 118 |
Итак, веб развивается.. и вот уже на горизонте замаячила ОСь от гугла (которая веб ориентированная), да и прочие не отстают (например плагины для Chrome\FF почти самостоятельные программы, но на скрипт языках).....
Что же будет с С++ ? Может стоит уже сейчас учить какой-нибудь javascript? -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 15 Всего: 26 |
jonie, говорили же уже за полезность С++
|
|||
|
||||
| NightmareZ |
|
|||
![]() [хакер] ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 10.8.2006 Репутация: 1 Всего: 13 |
Давно пора. -------------------- NightmareZ.net - мой блог и сайт, мои проекты и прочий трэш Ely-Art.ru - наша маленькая домашняя арт-студия mugcraft.ru - кружки на любой вкус |
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 15 Всего: 118 |
GoldFinch, вопрос не в полезности, а в интересе общества, а значит и восстребованности специалистов данного направления.
Вы можете знать очень полезный язык фортран, но работу с ним найти не так просто (по крайней мере в РФ). -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| NightmareZ |
|
|||
![]() [хакер] ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 10.8.2006 Репутация: 1 Всего: 13 |
О, круто, меня уже минусуют. Товарищи минусующие, а вы правда считаете, что зная один C++ вы можете называться программистами?
-------------------- NightmareZ.net - мой блог и сайт, мои проекты и прочий трэш Ely-Art.ru - наша маленькая домашняя арт-студия mugcraft.ru - кружки на любой вкус |
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 15 Всего: 118 |
NightmareZ, "здесь вам не тут" (не хабра с нытиками), а ты думаешь знание 10 языков программирования говорит о том что ты программист ? я-то всегда думал что программист это математик, знающий (и умеющий применять к месту) алгоритмы и т.п......
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| Oxy |
|
|||
|
Шустрый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 70 Регистрация: 20.9.2009 Репутация: нет Всего: 1 |
||||
|
||||
| kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 2 Всего: 160 |
Только он сам. Учите уж чего-нибудь более многообещающее. Тотже Python. -------------------- |
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 15 Всего: 26 |
NightmareZ, я думаю тут почти все знают не один С++
|
|||
|
||||
| NightmareZ |
|
||||||
![]() [хакер] ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 10.8.2006 Репутация: 1 Всего: 13 |
Ну вот, взяли хабру обгадили за просто так.
Ну какбэ обычно хорошие знания нескольких языков приходят сами собой в процессе профессиональной деятельности. И, да, если знаешь всего один язык (не блещащий мультипарадигменностью и применимостью в разных областях), то лишаешь себя огромного пласта знаний и практического опыта.
Математик без знания инструментов - лишь математик. Программист отличается от такого математика тем, что может алгоритмы воплощать в жизнь. Разными способами, в разных сферах.
Яваскрипты хорошо бы знать хотя бы потому, что в ней несколько иной подход к ООП, нежели в C++. Да и не собирается она отмерать, ибо на ней слишком много завязано. А, вообще, имхо, да, то, что ты перечислил, хотя бы поверхностно знать стоит. Я выше в этом посте написал.... про математика и программиста. Я такого нигде не говорил. Почему именно питон? И чем он для тебя так многообещающ? Меня в последнее время по этому поводу терзают смутные сомнения. -------------------- NightmareZ.net - мой блог и сайт, мои проекты и прочий трэш Ely-Art.ru - наша маленькая домашняя арт-студия mugcraft.ru - кружки на любой вкус |
||||||
|
|||||||
| Oxy |
|
||||||
|
Шустрый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 70 Регистрация: 20.9.2009 Репутация: нет Всего: 1 |
если я знаю только C++ и могу алгоритмы воплощать в жизнь, разными способами, в разных сферах, я программист или нет?
что завязано? |
||||||
|
|||||||
| NightmareZ |
|
|||
![]() [хакер] ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 10.8.2006 Репутация: 1 Всего: 13 |
Ты - нет. Ибо ты этого не можешь. Или пруфлинк в студию. Ты серьёзно не знаешь сферу применения яваскриптов? -------------------- NightmareZ.net - мой блог и сайт, мои проекты и прочий трэш Ely-Art.ru - наша маленькая домашняя арт-студия mugcraft.ru - кружки на любой вкус |
|||
|
||||
| kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 2 Всего: 160 |
Интернеты. Дело не во мне. А в индустрии. Она отказыватеся от ++ и смотрит в сторону его приемников. Java, C#, Python. Я Python для примеру привёл. Вообще, я давече уже высказаывался по-поводу изучение второго и последующих языков программирования тут. Копипастить не буду. -------------------- |
|||
|
||||
| Oxy |
|
|||
|
Шустрый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 70 Регистрация: 20.9.2009 Репутация: нет Всего: 1 |
в каких сферах я не могу что-то сделать? я javascript знаю на много лучше C++, но со временем код на js становится все больше и больше, хотя многое могло бы быть уже на клиенте(хотя бы jQuery), зачем каждый раз передавать клиенту столько кода, и интерпретируют его иногда по разному, приходится придумывать костыли |
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 15 Всего: 26 |
kemiisto,
Java, C#, Python никогда не будут приемниками С++ потому что ВМ вот когда они будут компилиться в нативный код - тогда они смогут стать приемниками С++ |
|||
|
||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 41 Всего: 154 |
Я думаю что будет уменьшаться, но сила инерции здесь будет очень велика.
Ну а насчет веб-а, на С++ то-же пишут, всякие Facebook-и и яндексы, которым приходится обрабатывать очень много данных, используют С++. Гугловский big table то-же не на PHP написан. В общем С++ будут по прежнему использовать для всякого server side-a Ну и в gamedev-e, естественно... XNA, это конечно круто, но люди, которые там работают, даже стандартные контейнеры иногда боятся использовать... FPS наше все Но! Через несколько лет все может измениться. Все дело в законе Мура, как известно, тактовые частоты современых процессоров, некоторое время назад, перестали расти. Вместо этого, начало расти количество ядер, этих процессоров. Года через 2-3, hi end десктоп, будет похож на современный сервер, то-есть иметь штук 16 CPU. Реализовывать параллельные/конкурентные алгоритмы на С++, это pain in the ass. Никогда не знаешь, будет ли оно на самом деле работать быстрее, или же все будет работать даже медленнее обычного, последовательного кода. С++, это shared memory и explicit locking, со всеми вытекающими. Помимо этого, еще существует такая штука, как vector processing, а с векторизацией кода, у С++ компиляторов как правило туго. |
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 15 Всего: 26 |
в жабаскрипте радуют лямбды с замыканиями, полная интроспекция, и простой синтаксис инициализации структур (объектов)
но лямбды с замыканиями будут в С++0х (0xA-0xF), а интроспекция и прочие радости жизни... ну чтож поделать, зато в жабаскрипте перегрузки операторов нет |
|||
|
||||
| Oxy |
|
|||
|
Шустрый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 70 Регистрация: 20.9.2009 Репутация: нет Всего: 1 |
||||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 15 Всего: 26 |
в конце концов, язык используется не ради того чтобы его использовать потому что он "хороший",
а для решения конкретных задач. Пока что, С++ хорош. На нем удобно писать, там где писать неудобно - можно подстроить синтаксис, перегрузив операторы для реализации DSL, обобщив код чтобы убрать копипасту и лишние зависимости. При этом производительность весьма хороша. Конечно языки с динамической компиляцией и хорошей динамической оптимизацией дали бы еще большую производительность. Но я хз есть ли они, и удобно ли на них писать. |
|||
|
||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 41 Всего: 154 |
наоборот, VM обеспечивает модульность и interoperability(не знаю как перевести), простой пример, ты написал программу на с++, в которой использовал стороннюю библиотеку, потом вышла новая версия этой библиотеки, которая умеет портить память В результате, твоя программа упадет, но в каком нибудь неожиданном месте, тебе не кажется что это не совсем... технологично, что-ли. Плохая модульность. Другой пример, у тебя есть библиотека, написанная на чем нибудь экзотическом, с calling convention ты разобрался, но вот беда, библиотека оперирует с float-ами другого формата и функции этой библиотеки возвращают далеко не примитивные типы данных... Х#вое interoperability. |
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 15 Всего: 26 |
Oxy, перегрузка операторов затем что DSL, и затем что обобщенность
я предпочитаю писать iterator++ вместо iterator.increment() и писать код одинаково работающий как со стандартными числовыми типами, так и с любыми классами поддерживающими арифметические операторы. |
|||
|
||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 41 Всего: 154 |
в последнее время меня вообще умиляют рассказы о всевозможных DSL на C++.
DSL, как правило!!, это когда ты сидишь и пишешь много часов не саму программу, а этот гребаный DSL, ф-я которого состоит в том, что-бы автоматически выявлять логические ошибки во время компиляции это неоправданное усложнение кода в большинстве случаев, а поддержка кода состоящего(чуть более чем сами знаете как) из шаблонной магии, это ###, потому-что через месяц возникает вопрос, что за ### написал эту ### если С++ код использует template metaporgramming для реализации expression templates для реализации EDSL для какой-нибудь маловажной ###, то скорее всего программисту просто было пакайфу его писать, вероятно он чувствовал себя ### каким умным в этот момент и вряд-ли задумывался о том, что тратит время зря Но конечно, если вас зовут Joel de Guzman, то флаг вам в руки, в остальных случаях... |
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 15 Всего: 26 |
Lazin, цена которая платится за преимущества ВМ слишком высока.
В ВМ есть только то, что есть в этой ВМ, а это не всегда соответствует возможностям конкретной системы, под которую и пишется программа. Допустим в ВМ нет доступа к реальной памяти, поэтому код библиотек не может ее портить. Но если этот доступ был бы реально полезен для задачи - его не получить. Или например в ВМ используется один формат float'ов , а на самом деле этих форматов float'ов много, и не факт что тот float который в ВМ лучше подойдет к моей задаче, но нормального способа юзать другой float в ВМ нет. Добавлено через 5 минут и 35 секунд Lazin, ДСЛ - это не обязательно вещи уровня лямбды или спирита. перегрузка * для перемножения матриц - это уже ДСЛ. использование + для конкатенации буферов - это тоже ДСЛ. но если в коде будут сложные выражения, то шаблоны выражений вместо явной композиции функции могут реально ускорить код, при этом сделав его более читаемым. Да, это только для тех случает когда сложность задачи оправдывает время на написание ДСЛ. и если знать язык и методы написания такого кода - то много времени это не займет Добавлено через 7 минут и 7 секунд и да, это действительно пакайфу писать =) |
|||
|
||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 41 Всего: 154 |
не преувеличивай, так можно договориться и до того, что метод push_back, добавляющий что-либо в конец контейнера, это то-же DSL
Задача программиста состоит в том, что-бы сделать так, что-бы задача перестала быть сложной, а не в том, что-бы решить очень сложную задачу - очень сложными средствами. Код, который использует какой-либо DSL, например boost.spirit, выглядит проще, но это не значит, что он делает что-то столь-же простое. Иногда это приводит к тому, что код делает не совсем то, что от него ожидает программист. Обычно, существует возможность использовать нативный код, практически в любой ВМ. С другой стороны, тот-же .NET FCL имеет столько возможностей, что вряд-ли тебе это часто будет нужно Добавлено через 10 минут и 1 секунду оговорюсь, я использую boost.spirit, но не потому-что это круто |
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
Т. е. кеширование у нас отменили?! А в случае с С++ - почему в стандартный рантайм не встроена, скажем, ГУИ-либа? Кто-то от этого страдает? Ну.. ТЫ говоришь про бэкенды. Да-да СУБД никто не писается писать на прикладных языках - это область системного программирования. Здесь С++ никуда не уйдёт. Сспоры, что С != С++ оставим, я это понимаю, но в данном случае это неважно, ибо для СУБД оправдано использование С++ в разумной мере
Проблема не в этом. Проблема в том, что в С++ средств полноценного метапрограммирования на самом деле нет. Точней так - есть средства метапрограммирования, но предназначенные только для абстрагирования от типа. А ДСЛ-и строить на С++ - это извращенье |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |