LINUX.ORG.RU

Что отличает юниора от более продвинутого

 , скиллы


3

7

Начнем с такого вопроса: существует ли вообще такое понятие как «разработчик на C++ среднего уровня». Все знают, что есть junior и senior, но o промежуточном варианте я как-то не слышал.

Но, допустим, мы рассмотрим некий средний уровень. Что по-вашему должен уже знать/уметь миддл, чего может еще не знать юниор? Интересует только то, что непосредственно связано с языком, знания общего плана - это отдельная тема.

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

Бросаешься из одной крайности в другую.

В общем виде максимизируется функция полезности. Если багов слишком много, и они перевешивают пользу от софта, то самый лучший вариант будет этот софт похоронить. В таком случае от него потерь больше, чем он приносит выгоды.

i-rinat ★★★★★
()
Ответ на: комментарий от UVV

c++ конечно сразу предоставляет всё, что нужно, и использование С функций никогда не потребуется.

в тебе сразу видно сишника-сектанта, а любые сектанты как правило джуниоры. ты - джун

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

Это отметает утверждение, что «язык и стандартная библиотека минимизирует количество мест, в которых необходимы танцы с указателями»?

UVV ★★★★★
()

Junior - сам не может сделать проект

Middle - может сделать сам проект

Senior - может не делать проект сам

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

Опа, я мидл.

не, ты просто джуниор-тряпка, у которого нет своего мнения

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

Из того, чем приходилось пользоваться, RapidJSON, fmtlib и spdlog. На что доводилось смотреть, но не использовать: Folly (хотя это может быть что-то вроде Boost-а), Proxygen, C++ REST SDK. Ну и мы сами что-то пытаемся делать: restinio (правда сейчас уже 0.2 на подходе, там многое переделано), json_dto, timertt.

eao197 ★★★★★
()

Проиграл с того, как «иксперты» в треде вместо термина «сегфолт» используют аббревиатуру сигнала из POSIX-хедера.

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

Я уже забыл что было в начале ветки. Тем более std не даёт вообще никаких гарантий. И тут не важно C++03 или 17 у тебя.

у тебя память как у рыбки, не удивительно что ты забыл что гарантирует std

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

Тем более std не даёт вообще никаких гарантий

Тут у меня для тебя плохие новости, ты джун.

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

c++ конечно сразу предоставляет всё, что нужно, и использование С функций никогда не потребуется.

Боюсь, у вас проблемы с восприятием написанного. Было сказано:

В C++ конечно тоже можно напортачить с итераторами, но язык и стандартная библиотека минимизирует количество мест, в которых необходимы танцы с указателями.

Минимизирует, а не устраняет полностью.

Или, по-вашему мнению, вовсе не минимизирует?

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

получается что ты автор драйверов для ATI?

Сильное заявление, но нет

UVV ★★★★★
()
Ответ на: комментарий от i-rinat

Писал я код в блокноте около двух лет, на си подобном - это п%%дец, товарищи. Была подстановка, нулевой рефакторинг. Пролог... Никому такого не желаю. Стодесять открытых окн, с инклудами, глобальными поисками по коду, системами контроля версий, билд сервером и прочей ерундой.

CLion умеет всё из коробки, в ~одном окне.

Если багов слишком много, и они перевешивают пользу от софта, то самый лучший вариант будет этот софт похоронить.

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

BitSum ★★
()
Последнее исправление: BitSum (всего исправлений: 2)
Ответ на: комментарий от eao197

11-ый минимизирует. 3-й - спороное утверждение. А указатели, как уже упомянули, вполне используются в Qt на модели parent-child. И хоть эта модель уже в возрасте, она всяко лучше, чем 03 версия std.

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

11-ый минимизирует. 3-й - спороное утверждение. А указатели, как уже упомянули, вполне используются в Qt на модели parent-child. И хоть эта модель уже в возрасте, она всяко лучше, чем 03 версия std.

не, ты определенно пассивный гей

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

Увы, для работы с xml лучший вариант по-прежнему сишный libxml2 или tinyxml2, которой си с классами. Есть ещё RapidXML, но у него API жуткий.

fmtlib самое удобное, современное, но даже там не обошлось без создания своих строк...

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

Увы, для работы с xml лучший вариант по-прежнему сишный libxml2 или tinyxml2, которой си с классами. Есть ещё RapidXML, но у него API жуткий.
fmtlib самое удобное, современное, но даже там не обошлось без создания своих строк...

ты пока на кнопку «ответить» нажимал забыл что в сообщении было?) попей таблеток

anonymous
()

нет мозгов (в рамках темы) ---> есть чутка мозгов ---> есть нормально мозгов ---> есть дохрена мозгов ---> что за тупую хрень вы мне тут предлагаете

Вот как-то так выглядит развитие в рамках темы. Любой темы.

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

3-й - спороное утверждение.

По вашему std::sort, std::transform, std::for_each и пр. заточенные под работу с итераторами части STL появились в C++11? Или, может, std::vector/list/deque и иже с ними пришли к вам уже после C++03?

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

Одного не могу понять. Чем вас не устраивают IDE? Они не пишут код за вас, а только упрощают разработку.

Это не ко мне :-) Читай внимательнее что я написал :-) Я как раз сторонник IDE :-)

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

По вашему std::sort, std::transform, std::for_each и пр. заточенные под работу с итераторами части STL появились в C++11? Или, может, std::vector/list/deque и иже с ними пришли к вам уже после C++03?

Как оно минимизирует работу с указателями?

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

не, ты определенно пассивный гей

Инфа соточка

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

Джуниор/студент - пишет на Си с классами, дрочит на stl, boost, C++NN итд

Мидл - пишет

Ну раз ты уже начал с пошлости в отношение юниора, то чего стесняться с миддлом. Можно так прямо и писать, что миддл с stl, boost (и далее по списку) уже полноценно совокупляется.

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

Или для вас list::iterator — это указатель и есть?

Дорогой эксперт :-) Да, итератор - это обобщённый указатель :-) Ты не знал? :-)

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

IDE упрощает разработку = КПД +, исключает факторы «человечности» - ошибки, проще говоря - говноVim'ом не заменить.

Вот ведь, блин, а у меня все время vim открыт. Что же у меня теперь КПД всегда будет на уровне юниора? Обидно. Попробовать что ли какой-нибудь Эклипс...

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

Дорогой эксперт :-) Да, итератор - это обобщённый указатель :-) Ты не знал? :-)

Спокойно, он сейчас скажет, что это «не совсем» указатель. Ну в принципе да, это объект, но по принципам использования отличия от указателя минимальны.

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

Дорогой эксперт :-) Да, итератор - это обобщённый указатель :-) Ты не знал? :-)

Страуструпа перечитай, чтоле... джуниоры набежали

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

Организовать работу с помощью IDE можно куда проще, чем с помощью простых редакторов, хотя бы потому, что не возникает возни на ровном месте по таким холиварным вопросам, как «стиль кодирования» :-)

А вставить какой-нибудь uncrustify в хуки VCS разве не поможет?

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

Тот же C выучивается в сто крат проще

сомнительно, с учётом многочисленных неочевидных undefined behaviour со всеми типами, операциями, и их всевозможными комбинациями.

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

На уровне «тяп-ляп» - определенно проще. А дальше мало кто учит.

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

На линуксе только CLion нормальный и QTcreator, но я предпочитаю CLion.

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

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

Приведите пример современного проекта на C++.

Ах, да. Проект eao197 тоже вполне современный и очень качественный.

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

Страуструпа перечитай, чтоле... джуниоры набежали

Читал :-) Там написано: Итератор - это чистая абстракция :-) Вопрос в том, абстракция чего? :-) Ответ очевиден - абстракция указателя :-) Джуниоры понабежали, это да :-)

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

Ну в принципе да, это объект, но по принципам использования отличия от указателя минимальны.

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

Но если хотите пример, то нет проблем:

#include <vector>
#include <iostream>
#include <cstdlib>
#include <algorithm>
#include <iterator>

using namespace std;

template<class C>
void show(const C & c) {
    copy(c.begin(), c.end(), ostream_iterator<typename C::value_type>(cout, ", "));
    cout << endl;
}

int main() {
    const size_t size = 20;
    vector<int> v(size);
    for(size_t i = 0; i < size; ++i)
        v.push_back(rand() % 2048);
    show(v);
    sort(v.begin(), v.end(), less<int>());
    show(v);
}
Вот, в рамках C++03. Динамическая память, сортировка, отображение в стандартный поток вывода. Ни одного указателя. Ни одного new/delete. Функция show может работать с любым контейнером, похожим на классы контейнеров из STL.

Так что вы там на счет отсутствия минимизации говорили?

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

Читал :-) Там написано: Итератор - это чистая абстракция :-) Вопрос в том, абстракция чего? :-) Ответ очевиден - абстракция указателя :-) Джуниоры понабежали, это да :-)

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

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

ага, и пишет свой hashtable каждый раз на каждом проекте.

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

Тот же C выучивается в сто крат проще

сомнительно, с учётом многочисленных неочевидных undefined behaviour со всеми типами, операциями, и их всевозможными комбинациями.

C реально проще плюсов. Есть куча жалезячников, например, (как и людей других специальностей), которые делают железо и пишут софт на сях (причем довольно крупные проекты). Если же ты пишешь на плюсах, то ты на 100% программист и ничего другого всерьез не делаешь.

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

Мне банально лень аргументов накидывать. Был бы смысл.

главный аргумент - шоколад для мозга, огурцы для витаминов, а бабушки, они опытные

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

Есть куча жалезячников, например, (как и людей других специальностей), которые делают железо и пишут софт на сях

лучше б не писали, чесслово, один из самых распространенных источников говнокода

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

Если же ты пишешь на плюсах, то ты на 100% программист и ничего другого всерьез не делаешь.

Пошла расклейка ярлыков.

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

Можете как-то «нормально» перефразировать?

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