0
- 25.12.2016 - 22:13
|
Привет всем коллегам. Собственно, вопрос в сабже. На протяжении лет 6-ти я вижу, как умирает эта ветка касательно С++. Но тогда еще можно было на "Предлагаю работу" увидеть вакансии на эту тему, а сейчас там вообще на тему программирования 2 полутемы... Неужели на Кубани суровый HI-TECH умер?? | | |||||
1
- 26.12.2016 - 10:43
|
С++ это язык системного программирования, на крайний случай, высокопроизводительных или кроссплатформенных решений. В Краснодаре, не считая нескольких контор, IT всё же прикладное. Не тот профиль, ИМХО. | | |||||
2
- 26.12.2016 - 14:52
| Что, разве все уже не перешли на С# на винде и node.js на серверах? | | |||||
3
- 27.12.2016 - 11:41
|
1-NTFS_ > Хм. Неужели все стало так печально? :( Вроде бы игрушками на С++ 3D-движках еще кто-то занимался раньше. Не слышал? 2-wayerr > К счастью, видимо нет. :) | | |||||
4
- 27.12.2016 - 20:36
| Программирование - это создание чего то нового или корректировка чего то уже работающего (улучшение). Желание что то улучшить у человека возникает только тогда, когда у него остаются деньги после всех выплат на жизнь. Сейчас такое время, что у людей (у 80%) денег практически не остаётся после всех выплат (в том числе по кредитам). Ситуация такова, что разрушены механизмы передачи денег людям. Раньше хоть как то через производство, через строительство и прочее, деньги попадали в руки людям и происходило через эти механизмы развитие, а сейчас банки сидят на мешках с деньгами и бояться их инвестировать в общество. Там где деньги есть (у кого есть деньги), идей вообще нет. К тому же привычка к коротким деньгам не позволяет им брать на себя повышенные риски. Так что тем кто зарабатывал в программировании когда то большие деньги встретите резкий спад активности в заказах, если, конечно, вы не трудитесь на западную компанию. Не до вас сейчас предприятиям и частным инвесторам. Им самим бы продержаться на плаву в эту эпоху перемен. Такова селяви. ИМХО. | | |||||
5
- 28.12.2016 - 10:24
|
ох, бедные голодные программисты и ИТ-компании. Прям слеза навернулась. Откуда же силам взяться, чтобы пальцем на кнопку нажать. 2аффтар. А почему Краснодар? Перед вами же открыт весь мир, и даже переезжать никуда не надо. По удаленке, если у вас есть квалификация, работу найти раз плюнуть. | | |||||
6
- 28.12.2016 - 22:39
|
0-Нас не забанить > Откуда HITECH в C++, вы шо на C++17 пишете? =) | | |||||
7
- 29.12.2016 - 13:19
| 0-Нас не забанить >Привет, коллега. На Кубани суровый Hitech жив! А его разве только на С++ можно творить?) Что-то когда надо дешево и сердито, то из столицы едут сюда, особенно, когда сроки промухали. И на чем ты им этот hitech сделаешь их не волнует, лишь бы в срок и прошло приемку)))) | | |||||
8
- 02.01.2017 - 11:40
|
5-Добрых дел мастер > Ох уж эти вот разговоры про "По удаленке, если у вас есть квалификация, работу найти раз плюнуть." Вот что-то не очень получалось у самого так сделать, а знаю таких людей - по пальцам пересчитать. 6-40KHYTbIU > А где есть HITECH? На Дельфи? Виндовс и Оракл написаны на Java? ;) Элементы 14-ки имеются, ну что MSVS 2015 поддерживает. :) 7-Фантастическая тварь > Привет, коллега! :) "Что-то когда надо дешево и сердито, то из столицы едут сюда, особенно, когда сроки промухали. И на чем ты им этот hitech сделаешь их не волнует, лишь бы в срок и прошло приемку))))" - так разве это HITECH? :) | | |||||
9
- 02.01.2017 - 23:26
| 8-Нас не забанить >Еще какой! Так сказать современные веяния. Знал бы ты кому его потом на выставках показывают и что про него говорят)))) | | |||||
10
- 06.02.2017 - 10:20
| Цитата:
http://rsdn.org/forum/job.offers/6669623.1 есть еще sql.ru, там тоже реальная удаленка проскакивает. Плюс аккаунт на апворке можно держать, пройти несколько тестов, чтобы в TOP10/30 попасть и подемпинговав на начальном этапе вполне можно за первые полгода портфолио себе наработать... Так что главное уметь искать и действительно быть специалистом, а не просто пальцы гнуть. | | |||||
11
- 04.03.2017 - 20:12
| будь проще, переходи на C# | | |||||
12
- 05.03.2017 - 02:14
| 11-x0577216 > А как быть с системными приложениями? Типа сервисов Винды? | | |||||
13
- 04.04.2017 - 23:15
| RTFM! Сударь. Давным-давно на DELPHI можно писать сервисы. В D7 можно, что с молее древними не знаю. Профи C++ гордились тем, что они как боги могут всё. Но тут пришёл С#, и оказалось, что очень многое может сделать простой труженик клавы. | | |||||
14
- 04.04.2017 - 23:27
|
[quote=NTFS_;43475435]И подразумевается, что никакой замены для него нет. Сами компоненты DELPHI написаны на небольшом расширении PASCAL. Производительность это свойство не языка, а компилятора. | | |||||
15
- 05.04.2017 - 21:49
| ага, я так же смотрел на С-шников, когда ассемблер учил. | | |||||
16
- 06.04.2017 - 15:48
| Не совсем так, имхо. Всё же, язык диктует компилятору, а не наоборот. Если в Ассемблере inc eax - это одна строка кода, то в C a++ это уже вызов какой-то библиотечной функции, пусть и самой простой. А в C# a++ уже полноценное обращение к методу объекта класса Int32, которым является переменная a Соответственно, как ни крути, но в сферическом случае, asm быстрее C, C быстрее C#. | | |||||
17
- 06.04.2017 - 23:11
|
2NTFS_. 1. Как минимум, eax - это регистр, а "a" - переменная. А в регистр данные еще как-то попасть должны. 2. Но я очень сомневаюсь, что это прям вызов функции. 3. а чем вызов метода отличается от вызова функции? 4. Я слышал, что современные компиляторы могут генерить такой машинный код и делать такие оптимизации, какие обычному программисту не доступны. Да и С# в некоторых случаях может быть быстрее С (jit-компиляция под конкретный процессор против универсальной программы на С). Язык оказывает самое прямое влияние на то, что можно реализовать в компиляторе, а что - нельзя. | | |||||
18
- 06.04.2017 - 23:17
|
13-x0577216 > Да вы что, сударь?! Я мужики-то не знали. (с) :) Будем откровенны - ну не пошел Object Pascal, не пошел. Почему - вопрос не ко мне. 14-x0577216 > Если компилятора - так в чем же дело? Почему для Delphi никак не напишут "высокопроизводительный" компилятор? :) Это полушутка. Пока что, хоть обосрись, но для того же Haskell или Erlang нет компиляторов, которые сделали бы из них "серебряную пулю". Или? 15-Добрых дел мастер > Как - так же? Цитата:
Предположим для простоты, что 'a' лежит в eax. Тогда a++ это будет что-то вроде mov ecx, eax inc ecx //тут в выражении, где использовалось a++, подставится ecx) inc eax А вот ++а будет вполне себе просто inc eax Какие еще библиотечные функции? С/С++ - это практически ассемблер с человеческим лицом. | | |||||
19
- 06.04.2017 - 23:18
| Кстати, не знаю, как насчет c#, но в весьма близком ему Java, базовые типы (int, long, char...) - это именно переменные, а не объекты. | | |||||
20
- 06.04.2017 - 23:22
|
2Нас не забанить. Ну не знаю. В свое время Delphi был очень распространен. Даже сейчас до сих пор всплывают вакансии. Я даже знаю одну делфи-программистку. щито? А почему нельзя сразу inc eax? | | |||||
21
- 06.04.2017 - 23:23
|
16-NTFS_ >17-Добрых дел мастер > Вообще, парни, учите матчасть! :) 1. 'a' сразу может быть соптимизирована компилятором в регистр. 2. Не будет там никаких функций (методов). 3. В метод просто передается неявный параметр this. 4. Да уже сто лет в обед этим теориям про более мощную оптимизацию jit под конкретный процессор. Это вполне имеет право на жизнь, да. Но суровые реалии пока что таковы, что программа обычно не только цикл и такты процессора - это еще и, как ни крути, обращение к памяти. А вот тут-то никакой jit ничего тебе не соптимизирует. | | |||||
22
- 06.04.2017 - 23:24
| Язык сообщает, что надо сделать. А КАК это сделать - решают создатели компиляторов. Весьма рекомендую "Конструирование компиляторов для цифровых вычислительных машин» Д. Грис. Хорошая книга, в которой рассматривается применение ..." Никоим образом!Это в случае, когда asm_писатель упорен и сообразителен. Но где таких найдёшь? Классический пример - вычисление hash hash ^= ((hash << 5) + (*str) + (hash >> 2)) На современных процессорах и компиляторах всё это распараллеливается и держится в регистрах. | | |||||
23
- 06.04.2017 - 23:27
|
19-Добрых дел мастер > переменная - это тоже объект, в общем случае. Просто тривиальный (встроенный тип). А вот класс/структура - уже нет. И вызов метода всегда дороже доступа к тривиальному типу. В С#, насколько я помню, все наследуются от типа Object (зло из Delphi пришло и туда вместе с 'отцом':)). 20-Добрых дел мастер > 1. Я знаю. Но все же "в свое время". Бекэнды Google и Yandex вряд ли на Дельфи. :) Ну и ОС ни одной не знаю. 2. Потому что почитай про постфиксный оператор ++. :) | | |||||
24
- 06.04.2017 - 23:29
| 22-x0577216 > "На современных процессорах и компиляторах всё это распараллеливается и держится в регистрах." - не очень понял значение термина "распараллеливается" в данном случае.. Куда оно распараллелится? | | |||||
25
- 06.04.2017 - 23:38
| Цитата:
А с чем вы спорите? Я же написал - в некоторых случаях. Не во всех. Очевидно - это математика. Очевидно - это не память (так как jit еще сильнее жрет память). | | |||||
26
- 06.04.2017 - 23:41
| Цитата:
Учите ООП. Объект - это экземпляр класса. Класс\структура вообще не хранятся в памяти(ну разве что для информационных целей). Это логическая "конструкция", а не физическая. Но и не на С**. | | |||||
27
- 06.04.2017 - 23:55
| Цитата:
Цитата:
Ну а если честно, то кроме "некоторых редких случаев" из интернета, коих, как сказали бы на Лурке "чуть более, чем ни одного" - больше я нигде такого чуда не видел. На работе пишут и на C#, и на C++. Никто из C# даже не пытается поднять разговор о преимуществах по скорости в реальной жизни. Как-то так. Цитата:
А переменная может быть и глобальной, или статической - это никак не стек. Более того, переменную типа int можно запросто разместить в куче. Цитата:
Где-то там у вас может быть и так, что "Объект - это экземпляр класса", а в формальном описании языка есть слово "идентификатор", которое собсно и есть то самое 'a'. Пофиг, встроенный это тип или пользовательский. Естественно, под "класс/структура" я имел в виду объекты таких типов, неужели неясно? - зачем им тогда программисты С++? | | |||||
28
- 07.04.2017 - 00:21
| Цитата:
Ну да ладно, зачем mov ecx, eax? Цитата:
Цитата:
Цитата:
>- зачем им тогда программисты С++ Мало ли у них задач? Они коммитят во многие опенсорсные проекты, а гугл - и в свои собственные (некоторые из которых потом стали опенсорсными). Про яндекс я не много знаю. | | |||||
29
- 07.04.2017 - 03:34
| Цитата:
Когда мне приходилось делать много вычислений и рисовать полезвые графики, переходил на FPS = FORTRAN Power Station. А когда занимался обработкой текстов, придумал быстрые hash таблицы. | | |||||
30
- 07.04.2017 - 03:44
| Цитата:
Есть такое место, где люди пишут программы для заработка SQL.ru Кто на чем пишет тем постов Delphi 78 285 850 383 C++ 18 489 158 693 | | |||||
31
- 07.04.2017 - 09:55
|
спорный вопрос. Просто, очевидно, делфисты тусуются именно на этом сайте, а все остальные предпочитают обитать в других местах. Плюс, количество тем и постов считать не эффективно. Это может показывать былую популярность. Хотя, все-же, живых тем довольно много. Я не думал, что Делфи еще настолько жив. Раньше, лет 15 назад, я на нем много писал. Но (после 8-й версии) думал, что он уже мертв. А тут, оказывается, вполне трепыхается. | | |||||
32
- 07.04.2017 - 16:08
| Цитата:
Вы так и не последовали моему совету посмотреть, в чем разница между a++ и ++a, а зря. Цитата:
С++ позволяет делать с памятью ВСЁ. class A ** public: A(int i) : m_i(i) ** ** void print() const ** std::cout << m_i << std::endl; ** private: int m_i = 0; **; int main() ** A a; // Stack a.print(); // 0 std::unique_ptr pa(new A(1)); // Heap pa->print(); // 1 ** Давайте не будем путаться в бюрократии для школьников. Переменная - это не очень корректное название, ИМХО, но устоявшееся. Всё это - объекты в памяти. Есть объект (собсно, то что лежит в памяти), а есть ссылка на него (указатель), которая содержит АДРЕС на начало этой памяти. Вот и всё. int main() ** int i = 0; // Stack int* pi = new int; // Heap *pi = 1; // в памяти по адресу, куда указывает pi, теперь будет 1 delete pi; ** Цитата:
Цитата:
Chrome, знаете ли, почему-то тоже на С++ накатали. Хотя сам Google сейчас активно пропихивает свой Go. | | |||||
33
- 07.04.2017 - 16:09
| Идиотский форум. Зачем изменять форматирование текста?? | | |||||
34
- 07.04.2017 - 16:11
| Код: int main() ** A a; // Stack a.print(); // 0 std::unique_ptr pa(new A(1)); pa->print(); // 1 ** | | |||||
35
- 07.04.2017 - 16:12
|
Лля... Ну и так сойдет, хотя бы форматирование не поехало. Это был пример ко второму случаю (int в куче). А вот к первому (про объекты на стеке): Код: class A ** public: A(int i) : m_i(i) ** ** void print() const ** std::cout << m_i << std::endl; ** private: int m_i = 0; **; int main() ** A a; // Stack a.print(); // 0 std::unique_ptr pa(new A(1)); pa->print(); // 1 ** | | |||||
36
- 07.04.2017 - 19:08
| Цитата:
Цитата:
Цитата:
2. 5 лет вы проторчали в неизвестной конторе? Чем же вы занимались? Цитата:
Плюс, бывает переменная, бывает ссылка на нее, бывает ссылка на ссылку... статическое и динамическое связывание... Это очень сильно влияет на производительность. И считать, что это одно и то же, имхо, ламерство. Цитата:
Глупая постановка задачи "как вы думаете". По факту - я понятия не имею. И это может быть что угодно, хоть С, хоть python. | | |||||
37
- 07.04.2017 - 19:44
| Цитата:
Код: int i = 0, i1 = 1; 0010062E mov dword ptr [i],0 00100635 mov dword ptr [i1],1 i1 = i++; 0010063C mov eax,dword ptr [i] 0010063F mov dword ptr [i1],eax 00100642 mov ecx,dword ptr [i] 00100645 add ecx,1 00100648 mov dword ptr [i],ecx Причем тут "тратить целый регистр"? Ну засуньте в память, смысл не меняется. Да, чтобы избежать дальнейших идиотских вопросов - естественно, я имел в виду использование a++ в выражении. Ибо использовать постфиксную форму ++ только для увеличения чего-то не в контексте выражения - за это нужно бить по рукам (за непонимание, как это работает), пусть даже современный компилятор скорее всего соптимизирует такое как ++a. Цитата:
2. Я вообще-то написал в "известной", читайте внимательнее. Цитата:
Цитата:
Шыдыврально. | | |||||
38
- 07.04.2017 - 20:18
|
Ну и что там понимать? Все же синим по белому написано. И вы до сих пор считаете, что это то же самое, что вы написали? Где же здесь mov ecx, eax? Кстати, довольно плохо оптимизировано. Даже сложение инкриментацией не заменили. Не говоря уже о ненужном гонянии данных между регистрами и памятью. вы регистры от памяти не отличаете? Может вы не на С пишете, а на 1С? Просто решили, что единичка это почти то же самое, что ++? Тут можно рассмотреть в общем и в частности. В общем - я никому не верю без подтверждения (возможно - многократного) информации. В частности - я все меньше доверяю тому, что пишете вы. "Пруфы" - это я, наверное, не совсем корректно выразился, но и тут их можно было бы найти. Так у вас еще и с математикой, и с логикой проблемы? 10 лет вы работали программистом. 5 в известной компании. Следовательно остальные 5 - где? Я в неизвестной компании работал полтора 2 года, полтора из которых я бы еще студентом. Я вижу, вы не способны учиться на собственных ошибках, воспринимать критику. Жаль вас. | | |||||
39
- 07.04.2017 - 21:23
| Чисто конкретно, о каком вопросе Вы выразились и с кем/чем спорите?Насколько мне известно, главный сайт про DELPHI это http://delphikingdom.ru/ Опять таки, почему C++исты так редки на сайте именно про конкретное программирование всяческих прикладных систем конторского типа? Ведь borlamd/ inprice / embarcadero параллельно DEKPHI Borland делает C++ builder с тем же функционалом. Обнаружив сайт h-l-l.ru/forum/13 как раз про "Форум » Форум по C++ Builder" с разделом "Решение задач" изумился. на вопрос Решение линейного уравнения 1 ответ 1253 просмотра. на вопро "Здравствуйте, нужно реализовать поиск в DBGrid. Реализация такова: на первой форме кнопка поиск, пр нажатие на нее открывается новая форма, где один эдит и кнопка "найти". " Нужна помощь, заранее спасибо. Каких? Ведь sql.ru это не про DELPHI, а про решение всяческих проблем, возникающих прирешении совершенно конкретных задач. За которые деньги платят. На http://www.programmersforum.ru/forumdisplay.php?f=14 гораздо лучше, но DELPHI побеждает со счетом 1183:756 | |
| Интернет-форум Краснодарского края и Краснодара |