2010-11-27 5 views
6

Я из Малайзии и сейчас работаю старшим инженером-программистом (Java). В моей компании мы сделали полное программное обеспечение для информации о безопасности & Управление событиями (SIEM), которое создается с использованием J2SE/EE.Нужна профессиональная подготовка на C++ из Java-фона

Однако теперь компания планирует планировать переход на C++ из-за преимущества «полной производительности». К сожалению, C++ SE очень сложно получить здесь, и их спрос слишком высок. Единственное решение - моя компания на 100% готова спонсировать меня, чтобы получить профессиональную подготовку на C++, хотя мне нужно ехать в США.

Я исследую сеть для лучшего места для этой цели, но я не уверен в качестве и результатах обучения. Можете ли вы предложить мне, где лучшее место (США/Европа/Азия), чтобы сделать тренинг с помощью практического проекта SDLC.

Благодаря

+2

Не ответ, просто комментарий. Если ваша компания ожидает улучшения производительности на C++, если у них еще нет достаточного опыта работы на C++, они, вероятно, будут сильно разочарованы. –

+0

Знание C++ - одно дело, чтобы быть опытным в этом, другое. Написание высокопроизводительного кода еще одно. ИМХО, если вы собираетесь развиваться в C/C++, я бы очень рекомендовал начать с базового понимания ассемблера. Особенно, если вы хотите понять производительность своего кода. Если вы все еще готовы к этому, вы можете подумать о том, чтобы пройти курсы в колледже в США или Малайзии. –

ответ

3

Лично я не уверен в пути, к которому ваша компания хочет следовать, ИМХО требуется лет, чтобы узнать C++, а затем еще пару лет, чтобы написать хороший/эффективный C++. Это не просто вопрос изучения синтаксиса, но вам нужно изучить идиомы, дизайн-паттерны, что означают сообщения об ошибках компиляции/компоновщика. Вы захотите изучить STL и, возможно, даже библиотеки boost. Кроме того, если вашему программному обеспечению SIEM требуется графический интерфейс, вам также нужно научиться использовать его, будь то Win32, MFC, Qt, WxWidgets и т. Д. В целом, я считаю, что это сложная задача. Кроме того, я думаю, что очень важно, чтобы вы прочитали много книг на C++, есть список на SO: The Definitive C++ Book Guide and List Книги, подобные эффективной серии, Scott Meyers предлагают понимание специфических проблем C++, и IMO действительно неоценимы. Если вы действительно хотите изучить C++, здесь многое можно узнать.

Что касается курсов, вот некоторые из них, которые я встретил в сети. Возможно, вы могли бы добавить их на свой вопрос и попросить других дать отзывы о них.

Object Computing http://www.ociweb.com/training/C++

Datasim http://www.datasimfinancial.com/coursesandevents.php

1

Это не реально ответить на ваш вопрос, но я рекомендую прочитать Mark Weiss' C++ for Java Programmers. Он довольно короткий (он имеет только 300 страниц), поскольку он основывается на ваших знаниях Java.

+0

И, кстати, что означает «C++ SE»? – prasopes

+0

Возможно, старшие инженеры? – Muggen

+1

К сожалению, как ни странно, так и не так, я боюсь, что с помощью «C++ SE» OP означает «C++ Standard Edition» - слишком много времени на Java-земле. – Dan

1

Мой ответ рефлекторный это "не делай этого". Если это существенное изменение в направлении вашей организации, подумайте о том, чтобы нанять людей, которые уже владеют с помощью C++ для крупномасштабных проектов, чтобы получить лучшее представление о том, какие последствия для вашей разработки продукта и (на следующем этапе) выступать в качестве наставников для тех, кто работает с новым продуктом. (И «людьми» я на этот раз включаю менеджеров, а также инженеров :-)

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