Страница 3 из 5 Первая 1 2 3 4 5 Последняя
Показано с 21 по 30 из 43

Тема: "C++" Ребят, поделитесь опытом.

  1. #21
    Резидент Аватар для Befree
    Регистрация
    04.01.2007
    Возраст
    42
    Сообщений
    79
    Спасибо
    0
    Сказали 22 раз в 18 постах

    Re: "C++" Ребят, поделитесь опытом.

    Цитата Сообщение от Georgian Посмотреть сообщение
    А вопрос актуальный для многих, включая меня. Хоть я и ничего в программировании не понимаю, думаю хорошо было бы получить пару советов от мастеров на форуме, какой язык программирования выбирать если решить учиться, какой более востребованный и т.д.
    Тут я согласен с Dimas и опять огорчу Вас, что отдельно взятый язык скорее всего Вас сильно не продвинет. Для того чтобы стать профессиональным программистом нужна достаточно большая теоретическая база в области информационных технологий: алгоритмы, архитектура компьютера, устройство операционных систем, и т.д. Словом, всё, что изучают на получение академической степени по Computer Science. Не зря Вы часто видите BCS (Bachelor Computer Science) одним из требований на получение работы программистом, кроме специфических знаний по разным языкам и системам.



    Ну а начинать можно с самого простого, того что Вам ближе. Я, например, начинал с Basic под MS-DOS, потом был Pascal, C, C++ и т.д. Это не значит что Вам нужно начинать с того же, времена меняются. К примеру в моё время на первым курсе универа изучали Pascal, Prolog и Assembler для машины-"динозавра" VAX-11 и для 8086 (PC). Сегодня упор делается на Java и C++, и "машинных" языков изучается меньше (что считаю большой ошибкой)

  2. Бронирование Отелей в США
    Circuit advertisement
    Регистрация
    Always
    Возраст
    2010
    Сообщений
    Many




     

  3. #22
    Гражданин Аватар для Andy.
    Регистрация
    19.06.2006
    Адрес
    Kharkov -> San Francisco
    Возраст
    35
    Сообщений
    1,207
    Спасибо
    31
    Сказали 235 раз в 168 постах

    Re: "C++" Ребят, поделитесь опытом.

    Цитата Сообщение от Befree Посмотреть сообщение
    Для того чтобы стать профессиональным программистом нужна достаточно большая теоретическая база в области информационных технологий: алгоритмы, архитектура компьютера, устройство операционных систем, и т.д. Словом, всё, что изучают на получение академической степени по Computer Science.
    Я не согласен... чтобы программировать на современных языках не нужно знать никакую архитектуру компьютера (программист не техник) и устройство операционных систем не обязательно! Это старая школа... это все училось в универе и это никому не надо сейчас, если конечно ты не программируешь контроллеры...
    для веб программирования например вообще все упомянутое знать не надо, кроме конечно основных алгоритмов и логики программирования...
    Время молодых программистов уже прошло... (с) FIMKA
    Недоступный - это значит недоступный!!! (с) FIMKA

  4. #23
    Гражданин Аватар для dimas
    Регистрация
    25.01.2006
    Адрес
    Naperville
    Возраст
    43
    Сообщений
    1,256
    Спасибо
    52
    Сказали 272 раз в 159 постах

    Re: "C++" Ребят, поделитесь опытом.

    Цитата Сообщение от Andy82 Посмотреть сообщение
    Я не согласен... чтобы программировать на современных языках не нужно знать никакую архитектуру компьютера (программист не техник) и устройство операционных систем не обязательно! Это старая школа... это все училось в универе и это никому не надо сейчас, если конечно ты не программируешь контроллеры...
    для веб программирования например вообще все упомянутое знать не надо, кроме конечно основных алгоритмов и логики программирования...
    Вот этим в основном и отличаются программисты С++ от программистов языков более высокого уровня типа Java, C#
    Если не учитывать архитектуру на С++ можно наваять такого что будет работать на 32 битном процессоре и не будет на 64 битном. Или будет работать на машинах с BigEndian и не будет на LittleEndian.

    К тому же только учитывая архитектуру можно писать эффективные приложения которые исполняются в реальном времени, где Java и прочим Java подобным места нет.
    Последний раз редактировалось dimas; 06.02.2007 в 15:28.

  5. #24
    Гражданин Аватар для dimas
    Регистрация
    25.01.2006
    Адрес
    Naperville
    Возраст
    43
    Сообщений
    1,256
    Спасибо
    52
    Сказали 272 раз в 159 постах

    Re: "C++" Ребят, поделитесь опытом.

    Цитата Сообщение от Valerka Посмотреть сообщение
    С многопоточностью как бы все понятно, а вот по поводу выбора алгоритма и оценки его сложности стало интерестно... Неужели вам часто приходится самостоятельно разрабатывать алгоритмы и каким образом вы оцениваете его сложность? Делаются тестовые приложения или вычисляете аналитически?
    Постоянно.
    Во первых в зависимости от алгоритма выбирается контейнер.
    Во вторых вы наверное знаете что 80% времени программа проводит в 20% кода. И если вы пишете часть кода в не критичном для производительности месте (например лог сообщений в файл с анализом в дополнительном потоке с невысоким приоритетом) можно позволить себе менее эффективный но более понятный алгоритм.
    Если же идет разборка байтов полученных из сетевого сокета - наоборот нужно пожертвовать простотой кода в угоду производительности.
    Big O notation помогает оценивать сложность алгоритма и выбирать наиболее подходящий к месту.

  6. #25
    Гражданин Аватар для Andy.
    Регистрация
    19.06.2006
    Адрес
    Kharkov -> San Francisco
    Возраст
    35
    Сообщений
    1,207
    Спасибо
    31
    Сказали 235 раз в 168 постах

    Re: "C++" Ребят, поделитесь опытом.

    Цитата Сообщение от dimas Посмотреть сообщение
    Вот этим в основном и отличаются программисты С++ от программистов языков более высокого уровня типа Java, C#
    Если не учитывать архитектуру на С++ можно наваять такого что будет работать на 32 битном процессоре и не будет на 64 битном. Или будет работать на машинах с BigEndian и не будет на LittleEndian.

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

    по поводу же приложений реального времени, так они легко пишутся и на .Net - windows services, web services - при этом все нужные классы и методы уже придуманы...
    Время молодых программистов уже прошло... (с) FIMKA
    Недоступный - это значит недоступный!!! (с) FIMKA

  7. #26
    Гражданин Аватар для dimas
    Регистрация
    25.01.2006
    Адрес
    Naperville
    Возраст
    43
    Сообщений
    1,256
    Спасибо
    52
    Сказали 272 раз в 159 постах

    Re: "C++" Ребят, поделитесь опытом.

    Цитата Сообщение от Andy82 Посмотреть сообщение
    Вот именно.. речь то идет о человеке, который хочет начать с нуля... ему не надо знать никакие архитектуры процессоров, контроллеров, как работают шины в компе, скольки разрядный процессор, что такое драйвер и все такое... это будет слишком сложно для него... то, о чем вы пишите это скорее всего программы непосредственно использующие железо... если уж на то пошло то почему бы не предложить ему дополнительно выучить еще и Ассемблер? я не спорю, если конечно человеку по душе программировать железо, то тогда это другое дело, а если он просто хочет писать софтвейр или веб приложения, тогда ничего этого не надо!
    Вот и я в начале ветки написал, или тяжелым путем или учите Java или .Net
    А то - "почитаю книжку и буду С++ программировать" :-))

    Цитата Сообщение от Andy82 Посмотреть сообщение
    по поводу же приложений реального времени, так они легко пишутся и на .Net - windows services, web services - при этом все нужные классы и методы уже придуманы...
    Я достаточно скептически отношусь к такой возможности. Там где есть garbage collection там нет realtime perfromance.
    Если же говорить о том что GC не будет включаться для некоторых участков кода - то повылезают все проблемы которые в С++ решаются аккуратным программированием а в .Net подарком от Microsoft.
    И опять таки проблема - чтобы писать real-time железо все таки знать надо даже для .Net в таком случае.

    И вообще не все на Windows клином сошлось. Linux и Unix системы позволяют создавать очень эффективные системы распределенных приложений без зависимости от Microsoft.
    На тему какая OS лучше говорить не хочу, ибо получиться флуд.
    Последний раз редактировалось dimas; 06.02.2007 в 16:31.

  8. #27
    Гражданин Аватар для Valerka
    Регистрация
    26.01.2006
    Адрес
    Lancaster, PA
    Возраст
    45
    Сообщений
    3,653
    Спасибо
    30
    Сказали 1,295 раз в 840 постах

    Re: "C++" Ребят, поделитесь опытом.

    В общем-то я просто пытался понять, что вкладывалось в такое понятие как алгоритм и о каких собственно алгоритмах шла речь.
    Цитата Сообщение от dimas Посмотреть сообщение
    Во первых в зависимости от алгоритма выбирается контейнер.
    Во вторых вы наверное знаете что 80% времени программа проводит в 20% кода. И если вы пишете часть кода в не критичном для производительности месте (например лог сообщений в файл с анализом в дополнительном потоке с невысоким приоритетом) можно позволить себе менее эффективный но более понятный алгоритм.
    Если же идет разборка байтов полученных из сетевого сокета - наоборот нужно пожертвовать простотой кода в угоду производительности.
    Big O notation помогает оценивать сложность алгоритма и выбирать наиболее подходящий к месту.
    Как я понял, вам приходится заниматься разработкой и реализацией алгоритмов поиска (анализ информации в файле или сетевом потоке), но ведь этим далеко не ограничивается программирование на С++. Огромное количество программ этим не занимается и основные задержки (простой) для них происходят от ожидания реакции пользователя. Также, замечу, что далеко не всегда у разработчика есть возможность выбора как алгоритма, так и способа его реализации, многое определяется архитектурой и дезайном всего приложения, что во множестве случаев просто нереально поменять без полной переработки приложения.

    Энивэй, ничего личного, просто захотелось пообщаться с "торищем по оружию" и узнать чем еще тут люди занимаются.

  9. #28
    Новичок Аватар для fokusnik33
    Регистрация
    19.01.2007
    Возраст
    38
    Сообщений
    30
    Спасибо
    1
    Сказали 6 раз в 6 постах

    Re: "C++" Ребят, поделитесь опытом.

    Цитата Сообщение от Andy82 Посмотреть сообщение
    как работающий в штатах программист могу сказать, что верно сказали знаний из книжки не хватит чтобы работать, НО! их хватит чтобы эти знания запихнуть в резюме и ответить на нужные теоретические и может некоторые легкие практические вопросы на интервью... а опыт всегда приходит только с работой...
    к тому же не обязательно учить С++, вернее конечно можно если есть желание, но я веду к тому что зная любой язык программирования (не важно какой) - работу можно найти... ну кончено тут 2 основные области которые сильно востребованы - Java-based technologies и .Net...

    ЗЫ книжку думаю торрентом можно скачать легко...
    Кто такой "торрент"? ...Я не искушенный пользователь и-нэта...
    некоторых понятий я не понимаю ...тока догадываюсь

  10. #29
    Резидент Аватар для Befree
    Регистрация
    04.01.2007
    Возраст
    42
    Сообщений
    79
    Спасибо
    0
    Сказали 22 раз в 18 постах

    Re: "C++" Ребят, поделитесь опытом.

    Цитата Сообщение от fokusnik33 Посмотреть сообщение
    Кто такой "торрент"? ...Я не искушенный пользователь и-нэта...
    некоторых понятий я не понимаю ...тока догадываюсь
    Torrent - технология "перекачки" компьютерных файлов. Поищите в Гугле (www.google.com) выражение "what is torrent".

  11. #30
    Резидент Аватар для Befree
    Регистрация
    04.01.2007
    Возраст
    42
    Сообщений
    79
    Спасибо
    0
    Сказали 22 раз в 18 постах

    Re: "C++" Ребят, поделитесь опытом.

    Booking.com
    Цитата Сообщение от Andy82 Посмотреть сообщение
    Я не согласен... чтобы программировать на современных языках не нужно знать никакую архитектуру компьютера (программист не техник) и устройство операционных систем не обязательно! Это старая школа... это все училось в универе и это никому не надо сейчас, если конечно ты не программируешь контроллеры...
    для веб программирования например вообще все упомянутое знать не надо, кроме конечно основных алгоритмов и логики программирования...
    Я думаю, что Вы подразумеваете языки типа Java и C#/VB под "современными языками". К сожалению, а может, к счастью, технологии имеют свойство меняться. Ещё 5-6 лет назад на .NET практически ничего не писалось. Программисту с хорошей теоретической базой не составит никакого труда перейти на новое. Человеку же, владеющему только современными технологиями, придётся переучиваться.
    Курсов по всему, ранее перечисленному мной, в универе пока никто не отменял, так что это не попадает под понятие "старая школа". Кстати, Вы знаете, что подавляющее большинство программистов сегодня всё ещё работает на поддержку старых систем, которые написаны отнюдь не не "современных" языках? Хуже(лучше) всех приходится тем, кто вынужден "сидеть на двух стульях", как у нас говорят.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Visitors found this page by searching for:

Nobody landed on this page from a search engine, yet!

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  

Форум "Говорим про Америку"
Форум "Говорим про Америку" Facebook