Гуру Windows могут работать эффективно над платформой разработки Linux?

std::plus - это функтор, что означает, что вам нужно создать объект из него:

auto adder = std::plus<>{};
auto result = adder(one, two); // result is onetwo

По этой причине вы никогда не будете использовать это так, как у вас: вы всегда будете просто написать one + two.

Но это означает, что вы можете использовать это так же, как вы использовали бы std::greater и т.п. вместе.

См. Что такое функторы C ++ и их использование? для получения дополнительной информации о функторах.

5
задан 7 revs 6 May 2009 в 19:38
поделиться

10 ответов

It really depends on a lot of factors.

A really good developer will be able to learn everything they need to know fairly quickly. The main language is the same.

However, depending on what you're developing on Linux, there may be some major learning curves to overcome.

A couple of examples:

  • The entire operating system APIs are different.
  • If you're using any large libraries, there will be a learning curve to the library.
  • If you're using more traditional unix build systems, there will (possibly) be a learning curve to using those vs. the normal "Windows way" of working in an IDE like Visual Studio.

I think expecting to have a perfect dev. in 2 weeks is probably a bit ambitious - but if they're good, they'll get productive quickly.

5
ответ дан 18 December 2019 в 06:51
поделиться

I've attempted to switch to Linux/Unix many times. I can basically find my way around the box and do development [if I've got Mono]. Now, I can be equally as efficient in terms of basic user requirements on just about any box in a short amount of time, but if you expect me to be able to figure out all the installation, configuration and all the other stuff that comes with system maintenance in that short a period of time, I daresay I'd pull all my hair out before the two weeks was up. Invariably, someone will ask me to do something I have no idea to do in Linux/Unix and will end up switcing back to Windows because I can easily do it in a short time.

I'd say if they have other people to ask questions, sure, it's a piece of cake. If you expect them to kind of hit the ground running as a self starter, it's doubtful.

4
ответ дан 18 December 2019 в 06:51
поделиться

Я был таким разработчиком не так давно (но у меня был некоторый опыт работы с * nix).

Лично для меня я нашел начальный переход очень простым. Есть адекватные инструменты для всего, что вам нужно сделать, чтобы хотя бы получить кодирование. Второй этап был очень трудным - найти именно то, что я делал, и правильные инструменты и как их использовать. Я попал в этот конкретный проект в одиночку, поэтому у меня не было никого, кроме Google, чтобы спросить,

5
ответ дан 18 December 2019 в 06:51
поделиться

I think yes, but you might need to be patient for a longer ramp-up time. An idea: give him a Windows box with a Linux virtual machine running inside (or vice-versa), so if he runs into something he can't do quickly in Linux, he can switch over to Windows for that particular task until he becomes more proficient on the Linux side. This may mitigate some of the "separation anxiety" some windows users have when switching to Linux. Think of it as "Linux with training wheels."

Good programmers is good programmers, and they're hard to find. You can make it work if you want to.

2
ответ дан 18 December 2019 в 06:51
поделиться

Great developers will be great on any platform. It may take him a little while, but if he is the "gets things done" sort, he should be able to get up to speed and make positive contributions to the project.

3
ответ дан 18 December 2019 в 06:51
поделиться

Well if he really is a guru, I would say yes. Many studies show that a good programmer produces more that 10 times as much useful work in a day as an average programmer. A real guru probably produces 100 times as much.

So given a choice between a WIndows guru and an average Linux guy, I'd ttake the guru any day.

1
ответ дан 18 December 2019 в 06:51
поделиться

Почему вы не можете вместо этого нанять гуру Linux?

Забавно, как много людей заявили: «Да, конечно, он может».

Почему никто не спрашивает, захочет ли он к?

1
ответ дан 18 December 2019 в 06:51
поделиться

Нет сомнений в том, что гуру Windows (если это правда) может справиться с вещами Linux.

Единственное, что вы должны спросить себя, это сколько времени у вас 4 на проект, поскольку вы не можете ожидать, что тот, кто никогда не занимался разработкой в ​​Linux, будет так же быстр, как тот, кто сделает это в течение некоторого времени.

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

1
ответ дан 18 December 2019 в 06:51
поделиться

Я думаю, это зависит от обстоятельств. Если вы уберете Visual Studio у мужчины, вы сразу же уменьшите его производительность вдвое. Если вы все делаете в emacs с помощью компиляторов командной строки, вы, вероятно, просто лишили его производительности еще половины. Теперь кое-что из этого со временем проскользнет по мере того, как он станет более знакомым, но вы можете поспорить, что этот гуру никогда не будет так продуктивен в Linux без IDE.

1
ответ дан 18 December 2019 в 06:51
поделиться

Если я могу вспомнить еще в бронзовом веке, когда я изучал программирование на Unix, я использовал технику, которая заключалась в том, чтобы изучать вещи как можно ближе к одному за раз. Я не изучал vi, пока не освоился с C. Затем я изучил make, а затем изучил Unix API. В конце концов, дело дошло до того, что я просто изучал то, что мне нужно было знать, когда мне нужно было это знать, но на это потребовались месяцы.

По крайней мере, парень, о котором вы говорите, хорошо владеет C и C ++. Если он не хочет взяться за vi или Emacs, дайте ему неплохую IDE. Тогда большой вопрос - это используемые API; им может потребоваться время, чтобы усвоить их. И убедитесь, что у вас есть кто-то, кто ответит на простые маленькие вопросы и сделает некоторые мелкие, но потенциально запутанные на время вещи.

0
ответ дан 18 December 2019 в 06:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: