Re[8]: достаточно
От: PMLife http://PMLife.ru
Дата: 05.09.14 17:38
Оценка:
Здравствуйте, Хон Гиль Дон, Вы писали:

PML>>2. Для большинства компаний неозвучивание сумм публично — это стандартно, нравится вам это или нет: Яндекс, Abbyy, Касперский.


ХГД>Ну так они и не жалуются, что не могут толковых спецов найти


Вы не поверите
Блог менеджера проектов.
Re[9]: достаточно
От: PMLife http://PMLife.ru
Дата: 05.09.14 17:38
Оценка:
Здравствуйте, -n1l-, Вы писали:

N>Согласен. Когда нет озвученной ветки, это разговор ни о чем.

N>Причем яндекс и всякие лабы озвучивают минимум и максимум.

Публично или лично вам на собеседовании?
Блог менеджера проектов.
Re[8]: Достаточно ли знать С без знания С++ для устройства на работу?
От: -n1l-  
Дата: 05.09.14 17:41
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Здравствуйте, -n1l-, Вы писали:


CC>>>Ну он про С++ писал типичное для ниасиливших.

N>>Что например?
CC>google linus c++ rant

CC>>>На С — банально много гемору.

N>>Какого?
CC>Рукопашка везде и во всём. Boilerplating. Принципиальная невозможность писать safe код.
как везде и во всем? А как же GTK?
Небезопасны там только указатели. Там в принципе больше ничего особого и нет, так что тоже голословно.
Re[6]: Достаточно ли знать С без знания С++ для устройства на работу?
От: -n1l-  
Дата: 05.09.14 17:45
Оценка:
Здравствуйте, DarkEld3r, Вы писали:

N>>Кто-то даже говорит что единственная. Так что неудивительно...

DE>Eсть какое-то подтверждение? Потому что (со стороны) ситуация выглядит несколько другой. Скажем, поддержку нового стандарта они до сих пор, кажется, не доделали. При этом конкуренты (clang, gcc) ещё не принятый С++14 внедряют. Помню ещё читал про какие-то фичи (кажется, про аттрибуты) они заявляли, что-то типа "у нас уже реализовано другим способом и переделывать не будем". Опять же, дотнетом несколько уменьшили роль С++.

Честно говоря мне это сказал тех. рук. на собеседовании в одной питерской конторе.
Я принял на веру. Хотя после ваших слов мне он кажется не очень компетентным.
Re[10]: достаточно
От: -n1l-  
Дата: 05.09.14 17:49
Оценка:
Здравствуйте, PMLife, Вы писали:

PML>Здравствуйте, -n1l-, Вы писали:


N>>Согласен. Когда нет озвученной ветки, это разговор ни о чем.

N>>Причем яндекс и всякие лабы озвучивают минимум и максимум.

PML>Публично или лично вам на собеседовании?


Ну сейчас вижу, что у разработчиков перестали писать, но раньше на хх видел веточки.
Вот у всяких рекламщиков есть:

http://omsk.hh.ru/vacancy/11538451?query=%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81
Re[6]: Достаточно ли знать С без знания С++ для устройства на работу?
От: smeeld  
Дата: 05.09.14 18:20
Оценка:
Здравствуйте, CreatorCray, Вы писали:

S>>Похоже, Вы драйверы под линукс не то что не писали, но и уже написанные не видели.

CC>Я пишу код в linux-based ядре. Нихрена там нет, спагетти и говнокод.

А можно назвать область ядра в которой заняты, и назвать хоть одну структуру,
которую по Вашему мнению можно заменить, и вообще, работу с которой можно реализовать
через С++ класс.
Re[9]: Достаточно ли знать С без знания С++ для устройства на работу?
От: CreatorCray  
Дата: 05.09.14 18:36
Оценка:
Здравствуйте, -n1l-, Вы писали:

CC>>Рукопашка везде и во всём. Boilerplating. Принципиальная невозможность писать safe код.

N>как везде и во всем? А как же GTK?
А что с ним?

N>Небезопасны там только указатели. Там в принципе больше ничего особого и нет, так что тоже голословно.


Ну например сделай мне на С безопасный printf. Чтобы такая вот очепятка:
char *foo;
int bar;

printf ("%s %i", bar, foo);

не приводила к крашу.

На С++ вариадики такое разруливают на раз-два, работает даже быстрее varargs имплементации.
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[7]: Достаточно ли знать С без знания С++ для устройства на работу?
От: CreatorCray  
Дата: 05.09.14 18:36
Оценка:
Здравствуйте, smeeld, Вы писали:

S>>>Похоже, Вы драйверы под линукс не то что не писали, но и уже написанные не видели.

CC>>Я пишу код в linux-based ядре. Нихрена там нет, спагетти и говнокод.

S>А можно назвать область ядра в которой заняты

Storage virtualization

S> и назвать хоть одну структуру, которую по Вашему мнению можно заменить, и вообще, работу с которой можно реализовать через С++ класс.

Все.
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[9]: Достаточно ли знать С без знания С++ для устройства на работу?
От: Cyberax Марс  
Дата: 05.09.14 18:39
Оценка:
Здравствуйте, -n1l-, Вы писали:

CC>>Рукопашка везде и во всём. Boilerplating. Принципиальная невозможность писать safe код.

N>как везде и во всем? А как же GTK?
Вот GTK как раз — прекрасный пример. Множество проектов (LXDE, Wireshark, ...) переключаются с GTK на QT из-за того, что их авторы поняли, что они много лет ели кактус.
Sapienti sat!
Re[17]: Достаточно ли знать С без знания С++ для устройства
От: Cyberax Марс  
Дата: 05.09.14 18:48
Оценка:
Здравствуйте, eskimo82, Вы писали:

C>>А перед этим появилась первая бактерия.

E>Несомненно. Но поддержка атомиков появилась в С раньше чем в С++.
В виде intrinsinc'ов — ровно наоборот, если речь идёт о gcc.

C>>>>Бредишь. Это возможно чуть ли не с K&R C, точно было в C89. Классика жанра — возвращение структуры POINT в WinAPI.

E>>>1. Что я неприпоминаю, что там за функция в Win32 API возвращает POINT. Можеш напомнить ?
E>Итак, какая функция в WinAPI возвращает POINT ?
Лень искать.

C>>В общем, я считаю, что ламеризм (воинствующее незнание) надо наказывать долларом. Так что предлагаю поспорить на $100, что в С89 есть возврат структур, аналогичный побайтному копированию.

E>Вот и начни с себя. Потрать доллары на своё образование.
Ну так готов спорить?

C>>ЩИТО? В Java все объекты — это reference-типы. Если бы в Java были value-типы, то тоже всё было бы как в С++.

E>Если у бабушки был бы член, она была бы дедушкой. Но в обоих случаях осталась бы престарелым человеком. Так и в случае с агрегатными обьектами.
Что такое "агрегатный обьект"?

E>1. Глобальная переменная в С и С++ инициализируется нулем. Балбес.

Это автоматическая переменная. За глобальные переменные вообще расстрел сразу.

E>2. Этот код также не упадет.

Да, всего лишь молчаливо даст доступ к файлу. Тут если посмотреть, то в CVE от uninitialized access примерно процентов так 10% багов.

C>>В Java пишется так:

E>А в С++ пишется по другому. И в обоих языках можно элементарно выстрелить себе в ногу.
Ну так тут кто-то утверждает, что в Java всякие странные проблемы с вызовом super. В чём в Java проблемы с вызовом super?

C>>А потом ищутся баги с неинициализированным next.

E>ЛОЛ, Что ?
Ну вот видишь.

C>>"Методы" add_to... будут в каждом используемом файле инстанцироваться отдельно, за счёт static'а. Если static убрать, то получим конфликты времени связывания и/или неоптимальный код из-за отсутствия inlining'а.

E>Теперь напиши пример в templates и сравни как будут инстанцироваться методы.
Нормально будут.
template<class T> struct list_t
{
    typename list_t<T> *next;
    T payload;

    void add_to_list(T value) {...} 
};

Не надо указывать явный static.
Sapienti sat!
Re[10]: Достаточно ли знать С без знания С++ для устройства на работу?
От: -n1l-  
Дата: 05.09.14 19:04
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>
CC>char *foo;
CC>int bar;

CC>printf ("%s %i", bar, foo);
CC>

На си char* — общий указатель, там может быть что угодно. И вообще, разве невнимательность программиста — это проблема языка?
Re[10]: Достаточно ли знать С без знания С++ для устройства на работу?
От: -n1l-  
Дата: 05.09.14 19:08
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Здравствуйте, -n1l-, Вы писали:


CC>>>Рукопашка везде и во всём. Boilerplating. Принципиальная невозможность писать safe код.

N>>как везде и во всем? А как же GTK?
C>Вот GTK как раз — прекрасный пример. Множество проектов (LXDE, Wireshark, ...) переключаются с GTK на QT из-за того, что их авторы поняли, что они много лет ели кактус.
Скорее всего убегут обратно. С ктютом совладать смог только сьюз.
Re[11]: Достаточно ли знать С без знания С++ для устройства на работу?
От: Cyberax Марс  
Дата: 05.09.14 19:45
Оценка:
Здравствуйте, -n1l-, Вы писали:

C>>Вот GTK как раз — прекрасный пример. Множество проектов (LXDE, Wireshark, ...) переключаются с GTK на QT из-за того, что их авторы поняли, что они много лет ели кактус.

N>Скорее всего убегут обратно. С ктютом совладать смог только сьюз.
То есть?
Sapienti sat!
Re[11]: достаточно
От: PMLife http://PMLife.ru
Дата: 05.09.14 20:42
Оценка:
Здравствуйте, -n1l-, Вы писали:

N>Здравствуйте, PMLife, Вы писали:


PML>>Здравствуйте, -n1l-, Вы писали:


N>>>Согласен. Когда нет озвученной ветки, это разговор ни о чем.

N>>>Причем яндекс и всякие лабы озвучивают минимум и максимум.

PML>>Публично или лично вам на собеседовании?


N>Ну сейчас вижу, что у разработчиков перестали писать, но раньше на хх видел веточки.

N>Вот у всяких рекламщиков есть:

N>http://omsk.hh.ru/vacancy/11538451?query=%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81


Вилка от 70 до 250 — это все равно, что ничего не написано
Блог менеджера проектов.
Re: Достаточно ли знать С без знания С++ для устройства на работу?
От: Sealcon190 Соломоновы острова  
Дата: 05.09.14 21:23
Оценка: 3 (1)
Здравствуйте, ramar, Вы писали:

R>А можно ли быть программистом-системщиком, но знать только С, без С++? Вообще, насколько важно знать С++ или достаточно только С? Не только в России, но за бугром тоже. В Америке, я знаю, именно С больше в почете.


Достаточно. Более того, там, где находятся центры разработки железа, знание C намного востребованнее знания плюсов.
Скажем, когда я ходил по собеседованиям в Тайване, в 3 конторах из пяти мне сказали что плюсы — это, конечно, хорошо, но может я согласен пересесть на C?
Re[18]: Достаточно ли знать С без знания С++ для устройства
От: eskimo82  
Дата: 05.09.14 22:28
Оценка:
C>>>>>Оно скомпилируется и будет падать.
E>>>>Как мы видим, здесь указатель, а не int. Какой неприкрытый фейл...
C>>>Можно и int, не вопрос:
C>>>
C>>>int mode;
C>>>chmod("/some/file", mode); //Are you feeling lucky today?
C>>>

E>>1. Глобальная переменная в С и С++ инициализируется нулем. Балбес.
CC>А с чего ты взял что это глобальная переменная?
А с чего бы ей не быть глобальной переменной ?
Re: Достаточно ли знать С без знания С++ для устройства на работу?
От: TimurSPB Интернет  
Дата: 05.09.14 22:35
Оценка:
Да.
Make flame.politics Great Again!
Re[18]: Достаточно ли знать С без знания С++ для устройства
От: eskimo82  
Дата: 05.09.14 22:51
Оценка: :)
C>>>А перед этим появилась первая бактерия.
E>>Несомненно. Но поддержка атомиков появилась в С раньше чем в С++.
C>В виде intrinsinc'ов — ровно наоборот, если речь идёт о gcc.
Вот и напиши здесь даты появления стандарта C11 и дату появления __sync_xxx функций в gcc.

C>>>>>Бредишь. Это возможно чуть ли не с K&R C, точно было в C89. Классика жанра — возвращение структуры POINT в WinAPI.

E>>>>1. Что я неприпоминаю, что там за функция в Win32 API возвращает POINT. Можеш напомнить ?
E>>Итак, какая функция в WinAPI возвращает POINT ?
C>Лень искать.
Поищи и приведи ссылку, иначе твоё заевление не соответсвует действительности.

C>>>В общем, я считаю, что ламеризм (воинствующее незнание) надо наказывать долларом. Так что предлагаю поспорить на $100, что в С89 есть возврат структур, аналогичный побайтному копированию.

E>>Вот и начни с себя. Потрать доллары на своё образование.
C>Ну так готов спорить?
Лень спорить с балбесом.

C>>>ЩИТО? В Java все объекты — это reference-типы. Если бы в Java были value-типы, то тоже всё было бы как в С++.

E>>Если у бабушки был бы член, она была бы дедушкой. Но в обоих случаях осталась бы престарелым человеком. Так и в случае с агрегатными обьектами.
C>Что такое "агрегатный обьект"?
Ты не знаеш принципы ООП ?

E>>1. Глобальная переменная в С и С++ инициализируется нулем. Балбес.

C>Это автоматическая переменная.
Кто сказал ?

C>За глобальные переменные вообще расстрел сразу.

Это категогричное заявление сразу выдает дилетанта наслушавшегося страшилок про глобальные переменные.
Глобальные переменные могут быть очень полезны, а могут нести вред — это зависит от того как и для чего они используются.
Ты ведь не будеш тут брызгать слюной по поводу синглетонов ?, а ведь их реализация строится как раз на основе глобальных переменных, может и обьявленых как локально статические, но сути это не меняет.

E>>2. Этот код также не упадет.

C>Да, всего лишь молчаливо даст доступ к файлу. Тут если посмотреть, то в CVE от uninitialized access примерно процентов так 10% багов.
Или не даст доступ к файлу.

C>>>В Java пишется так:

E>>А в С++ пишется по другому. И в обоих языках можно элементарно выстрелить себе в ногу.
C>Ну так тут кто-то утверждает, что в Java всякие странные проблемы с вызовом super. В чём в Java проблемы с вызовом super?
В Java вообще возникает много странных проблем по сравнению с C++.

C>>>А потом ищутся баги с неинициализированным next.

E>>ЛОЛ, Что ?
C>Ну вот видишь.
Что тут видеть, если человек вообще не написал конструктор ? Согласись — это разные немного вещи: 1. не написать конструктор вообще, 2. в процесе модификации обьекта добавить коллекцию и забыть написать её создание в конструкторе. Второй случай как раз однозначно соответсвует потенциальным Сишным самострелам. В этом варианте С++, в отличии от Java, оказывается языком где нету такого замечательного шанса пострелять себе в ноги. Так что о том что Java — это безопасный язык ты можеш лечить молодых школьников.

C>>>"Методы" add_to... будут в каждом используемом файле инстанцироваться отдельно, за счёт static'а. Если static убрать, то получим конфликты времени связывания и/или неоптимальный код из-за отсутствия inlining'а.

E>>Теперь напиши пример в templates и сравни как будут инстанцироваться методы.
C>Нормально будут.
C>
C>template<class T> struct list_t
C>{
C>    typename list_t<T> *next;
C>    T payload;

C>    void add_to_list(T value) {...} 
C>};
C>

C>Не надо указывать явный static.
А теперь ответь на следующие вопросы:
1. Как будут инстанцироваться методы add_to_list ?
2. Сколько копий их будет ?
3. Есть ли разница в количестве копий с Сишным вариантом ?
Re[10]: Достаточно ли знать С без знания С++ для устройства н
От: eskimo82  
Дата: 05.09.14 22:54
Оценка:
CC>Куда более серьёзная проблема в том, что на С нет никаких способов писать безопасный код.
Как показал мой пример, на Java есть способы писать опасный код.

Некоторые глупцы еще пытаются найти серебряную пулю в виде языка не дающего писать безопасный код. Таких языков нет, безопасен код или нет зависит целиком и полностью от его автора.
Re[24]: Достаточно ли знать С без знания С++ для устройства
От: eskimo82  
Дата: 05.09.14 23:03
Оценка:
IID>Для чистого Си это тоже актуально, странно что ты не в курсе. Статики-то надо инитить, и в _atexit напиханные функции вызывать.
Простые статики уже лежат проиниченые, а в_atexit функции надо сначала понапихать.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.