Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Может ли C# быть первым языком программирования 
:(
    Опции темы
elvad
Дата 15.4.2008, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 11.4.2008




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

Просмотрел учебников 10 по C#. В большинстве предполагается, что человек знает азы либо С, либо С++. 

Кроме того везде основы C# даются для консольных приложений. Допустим, что цель создавать Windows приложения. Неужели нельзя начать сразу с Windows Forms? Или это в корне неправильный подход ).

PM MAIL   Вверх
gogzor
Дата 15.4.2008, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 134
Регистрация: 21.9.2006




Цитата

Хотелось бы услышать мнение специалистов, можно ли начинать осваивать программирование с Си шарпа?


А почему бы и нет? Темболее .NET очень перспективная платформа , а C# язык не сложный.

Цитата

Просмотрел учебников 10 по C#. В большинстве предполагается, что человек знает азы либо С, либо С++.


Есть учебники не требующие знания программирования. Поищи хорошо.

Цитата

Кроме того везде основы C# даются для консольных приложений. Допустим, что цель создавать Windows приложения. Неужели нельзя начать сразу с Windows Forms? Или это в корне неправильный подход ).


На консольных приложениях проще всего изучить основы языка , а зная основы можно уже переходить на Win/ASP.NET приложения.
PM MAIL   Вверх
vponomarov
Дата 15.4.2008, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 11.8.2007
Где: Киев




Сегодня как ни странно читал опрос на codeproject.com именно на эту тему.

Option    Votes    %
C# / Java    696    33.17
C    306    14.59
C++    287    13.68
Visual Basic    269    12.82
The first language will depend on what area the developer will want to work    241    11.49
Pascal / Modula / Delphi    126    6.01
Assembler (any flavour)    51    2.43
Python    36    1.72
VBScript    24    1.14
Lisp    15    0.71
Total    2098      100%

результаты говорят сами за себя.
хотя лично я считаю, что шарп не очень подходит для новичков.
я начинал с паскаля и очень доволен своим професиональным прогрессом smile 
начинать изучение програмирования сразу с Windows Forms  - тут сразу нет!
нужно понять основополагающие принципы и приемы програмирования и тогда никаких трудностей с освоением хоть Windows Forms, хоть WPF, хоть ASP.NET не будет.
а то читаешь сообщения в форуме по Windows Forms и прям страшно становится от вопросов некоторых "кодеров": на лицо явное непонимание простейших вещей.


--------------------
user posted image
user posted image
PM MAIL ICQ   Вверх
source777
Дата 16.4.2008, 13:24 (ссылка)  | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007




Цитата(elvad @  15.4.2008,  15:02 Найти цитируемый пост)
можно ли начинать осваивать программирование с Си шарпа
Нет!!! Знаешь поговорку "Тяжело в учении - легко в бою", так вот с C# тебе будет легко в учении, но сложно в бою, короче придётся переучиваться, если решишь всё-таки стать программистом...

Цитата(elvad @  15.4.2008,  15:02 Найти цитируемый пост)
Неужели нельзя начать сразу с Windows Forms?
Нет! Не надо выворачивать наизнанку естественный порядок вещей: сначала пишется программа, а потом к ней привязывается интерфейс... А как только ты начнёшь с Windows Forms, то сразу пойдёшь по полю усеянному граблями(антипаттернами)



--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
QryStaL
Дата 16.4.2008, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Intellectual feast
**


Профиль
Группа: Участник
Сообщений: 914
Регистрация: 30.11.2005




Цитата(source777 @  16.4.2008,  13:24 Найти цитируемый пост)
если решишь всё-таки стать программистом...


А если решит стать C# программистом ? Куда переучиваться-то? И зачем?


--------------------
I don't need a reason being who I am...
PM MAIL ICQ   Вверх
source777
Дата 16.4.2008, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007




Цитата(QryStaL @  16.4.2008,  14:24 Найти цитируемый пост)
А если решит стать C# программистом ? Куда переучиваться-то? И зачем? 
Нельзя быть C# - программистом, можно быть C# - кодером, можно работать C# - программистом, но программист не должен впадать в зависимость от языка, он должен быть над ним, чтобы мочь адекватно оценивать эффективность стандартных реализаций и при необходимости мочь реализовать нестандартную... 
P.S. Видал я людей, которые называют себя программистами, но не могут сами даже массив отсортировать, если у переменной, содержащий массив, нет метода Sort, так вот очень жалкое это зрелище!!!



--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
QryStaL
Дата 16.4.2008, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Intellectual feast
**


Профиль
Группа: Участник
Сообщений: 914
Регистрация: 30.11.2005




Так это больше от адекватности человека зависит, а не от языка.

Не вижу оснований для того, чтобы считать С# неподходящим для начального обучения.


--------------------
I don't need a reason being who I am...
PM MAIL ICQ   Вверх
vponomarov
Дата 16.4.2008, 16:53 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 11.8.2007
Где: Киев




QryStaL, в большинстве книжек по С# учат сначала синтаксису языка, а потом учат применять разные полезные классы из стандартных библиотек. я не спорю, очень удобно просто вызвать метод Sort массива и получить отсортированые значения.
но если человек только начал програмировать, у него может сложиться мнение, что так и нужно: для сортировки любого массива нужно вызывать его метод Sort. а если массив задаеться не объектом, а указателем на область памяти (как в С++), тут он и повиснет smile 
это просто наглядный пример, но думаю таких аргументов против шарпа можно навыдумывать еще много.
лично я считаю, что начинать програмировать нужно не на шарпе.
хотя если цель - "стать программистом" (читай хочу писать програмки под Виндовс), тогда да, шарп рулит!


--------------------
user posted image
user posted image
PM MAIL ICQ   Вверх
sobik
Дата 16.4.2008, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 63
Регистрация: 21.3.2008
Где: Киев, Украина.




vponomarov, ну что же, Паскаль рулит в таком случаее))). Еще один аргумент против Шарпа, как первого языка - если Вы выучите сначала, например, дельфи,бейсик и.т.п, то потом, перейдя н аШарп, Вы реально оцените все его удобства.
PM MAIL   Вверх
source777
Дата 16.4.2008, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007




Цитата(QryStaL @  16.4.2008,  16:05 Найти цитируемый пост)
Так это больше от адекватности человека зависит, а не от языка.
Поясни, что ты имеешь ввиду? типо адекватный человек не будет пользоваться BCL, так что ли? Да и книг то по C# таких нет(ну я не встречал), в которых, например, описывается как создать двунаправленный связный список с нуля, а не с помощью LinkedList<>, да это и не нужно, ибо C# рассчитан на опытных программистов с иммунитетом к удобствам, которые могут и сами создать многие классы из BPL, но не хотят попусту тратить на это время.

P.S. А для обучения хорошо подходят Паскаль/Delphi, РАЯ, Лого, но лит-ры больше всего по Паскалю/Delphi.

Добавлено через 2 минуты и 31 секунду
Цитата(vponomarov @  16.4.2008,  16:53 Найти цитируемый пост)
если человек только начал програмировать, у него может сложиться мнение, что так и нужно: для сортировки любого массива нужно вызывать его метод Sort. 
И наверняка сложится, и потом ему ведь ещё и не докажешь, что возможно что-то отсортировать не имеющее метода Sort. smile 



--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
vponomarov
Дата 16.4.2008, 20:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 11.8.2007
Где: Киев




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


--------------------
user posted image
user posted image
PM MAIL ICQ   Вверх
source777
Дата 16.4.2008, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007




Цитата(vponomarov @  16.4.2008,  20:57 Найти цитируемый пост)
хотя в принципе можно начинать и с С. а кто сказал, что должно быть легко  smile  
Си для обучения плох тем, что слишком низкоуровневый в том плане, что постоянно приходится отвлекаться от сути алгоритма на управление памятью и прочие "весёлые" вещи типа поиска имени нужной функции...



--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
Fighter
Дата 16.4.2008, 23:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 810
Регистрация: 5.1.2005




Цитата(source777 @  16.4.2008,  21:57 Найти цитируемый пост)
 отвлекаться от сути алгоритма на управление памятью и прочие "весёлые" вещи типа поиска имени нужной функции...


Ну, тем он и интереснее, язык СИ  smile   smile 
PM MAIL   Вверх
vponomarov
Дата 17.4.2008, 09:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 11.8.2007
Где: Киев




зато программист достигший просветления в С справится с любыми трудностями smile 


--------------------
user posted image
user posted image
PM MAIL ICQ   Вверх
QryStaL
Дата 17.4.2008, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Intellectual feast
**


Профиль
Группа: Участник
Сообщений: 914
Регистрация: 30.11.2005




Цитата(vponomarov @  16.4.2008,  16:53 Найти цитируемый пост)
хотя если цель - "стать программистом" (читай хочу писать програмки под Виндовс)

Программист - это не какая-то абстрактная сущность, а конкретный специалист со знаниями, навыками, способностями и умением это все применять на практике. Есть реальные задачи, которые нужно решать. И я бы не ставил знание алгоритмов выше, чем проектирование или знание конкретных технологий. А по поводу той же сортировки - взять описание подходящего алгоритма и реализовать его, если потребуется. Заморачиваться на этом, ИМХО, не стоит.

Цитата(source777 @  16.4.2008,  17:47 Найти цитируемый пост)
типо адекватный человек не будет пользоваться BCL, так что ли?

нет, он не будет изобретать велосипед и тратить время на то, что уже написано и эффективно работает. В случае, если неэффективно или нету - напишет свое.

Цитата(source777 @  16.4.2008,  17:47 Найти цитируемый пост)
И наверняка сложится, и потом ему ведь ещё и не докажешь, что возможно что-то отсортировать не имеющее метода Sort.

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

Цитата(vponomarov @  16.4.2008,  20:57 Найти цитируемый пост)
а кто сказал, что должно быть легко

 smile 

   – Я не намерен извиняться за своих, как ты выразился, «корешей», – спокойно ответил чародей. – Я их понимаю, потому что мне, как и им, пришлось крепко потрудиться, чтобы овладеть искусством чернокнижника. Еще совсем мальчишкой, когда мои ровесники бегали по полям с луками, ловили рыбу или играли в чет-нечет, я корпел над манускриптами. От каменного пола в башне у меня ломило кости и болели суставы. Летом, разумеется, потому что зимой хрустел лед на зубах. От пыли старых свитков и книг я кашлял так, что глаза лезли на лоб, а мой мэтр, старый Ретшильд, никогда не упускал случая стегануть меня по спине плеткой, считая, видимо, что иначе мне не добиться успехов в науке. Я не испробовал ни военной службы, ни девочек, ни пива. А ведь это были лучшие годы, когда все удовольствия особо притягательны и приятны.
   – Несчастный, – поморщился ведьмак. – Ну прямо-таки слеза прошибает.
   – К чему ирония? Я пытаюсь объяснить тебе причины, по которым чародеи не любят сельских знахарей, заклинателей, целителей, ведьм и ведьмаков. Называй это как хочешь, даже обычной завистью, но именно в этом причина антипатии. Нас злит, когда мы видим в руках профанов и халтурщиков искусство магии, которую нас научили воспринимать как элитарный дар, привилегию наилучших и священную мистерию. Даже если это дедовская, бездарная и достойная осмеяния магия." © Ведьмак
 smile 

Цитата(vponomarov @  17.4.2008,  09:35 Найти цитируемый пост)
зато программист достигший просветления в С справится с любыми трудностями  

С этим согласен. Но если человек не будет его применять на практике - насколько это оправдано?


--------------------
I don't need a reason being who I am...
PM MAIL ICQ   Вверх
Alekz
Дата 17.4.2008, 11:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 5.2.2008
Где: Запорожье, Украин а




Не вижу причины, по которой нельзя начинать учить программирование с C#. Правда людей, для которых С# или Java были первым языком программирования я не знаю.

Насчет 
Цитата(source777 @  16.4.2008,  17:47 Найти цитируемый пост)
программистов с иммунитетом к удобствам
:
все дело в человеке, в подходе к обучению/самообучению, в поставленных целях и т.д. 
Есть куча народу, которые несколько лет подряд кидают контролы на форму и пишут по паре строк обработчиков, и никто (по крайней мере не все smile ) из них с шарпа не начинал...
Короче говоря: с чего начинать - сугубо дело вкуса.






Это сообщение отредактировал(а) Alekz - 17.4.2008, 11:15
PM MAIL   Вверх
NightmareZ
Дата 17.4.2008, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


[хакер]
**


Профиль
Группа: Участник
Сообщений: 699
Регистрация: 10.8.2006




Имхо, учиться можно на чём угодно. Лиж бы моск был. Я начинал с вижуал бейсика шестого.


--------------------
NightmareZ.net - мой блог и сайт, мои проекты и прочий трэш
Ely-Art.ru - наша маленькая домашняя арт-студия
mugcraft.ru - кружки на любой вкус
PM WWW ICQ Skype GTalk AOL YIM   Вверх
LSD
Дата 17.4.2008, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin




Цитата(vponomarov @  17.4.2008,  10:35 Найти цитируемый пост)
зато программист достигший просветления в С справится с любыми трудностями

Глупости! 

Уже сто раз говорилось, что синтаксис это только крохотная часть, основную сложность составляют фреймворки и предмтная область. Будь человек хоть трижды гуру С и мастер системного программирования, перейдя в банковскую сферу и столкнувшись с тамошним софтом он будет смотреть на него как баран на новые ворота. Пусть он хоть наизусть знает WinAPI, это ему никак не поможет понять как работают трейдеры на бирже.

Вообщем учить надо тот язык и фреймворки который применятся в целевой области.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Lazin
Дата 17.4.2008, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re




Цитата(vponomarov @  15.4.2008,  16:01 Найти цитируемый пост)
Сегодня как ни странно читал опрос на codeproject.com именно на эту тему.

Цитата(vponomarov @  15.4.2008,  16:01 Найти цитируемый пост)
результаты говорят сами за себя.

просто там такая публика
Цитата(QryStaL @  16.4.2008,  14:24 Найти цитируемый пост)
А если решит стать C# программистом ? Куда переучиваться-то? И зачем? 

В том-то и проблемма, C# программист подобен растолстевшему ленивому человеку, который из дома никогда не выходит =)
Цитата(QryStaL @  17.4.2008,  10:40 Найти цитируемый пост)
Программист - это не какая-то абстрактная сущность, а конкретный специалист со знаниями, навыками, способностями и умением это все применять на практике. Есть реальные задачи, которые нужно решать. И я бы не ставил знание алгоритмов выше, чем проектирование или знание конкретных технологий. А по поводу той же сортировки - взять описание подходящего алгоритма и реализовать его, если потребуется. Заморачиваться на этом, ИМХО, не стоит.


реальная задача: есть файл размером несколько сотен мегабайт, содержащий строки вида -
Код

10:17:15.896     *************
10:17:17.912     *************
10:17:24.177     ************* 

в начале каждой строчки - дата. как реализовать быстрый случайный доступ. то-есть ф-я (метод класса) должен получать на вход дату, на выходе должна быть строка из файла.. ну так какая-тут технология поможет, какой класс из фреймверка?

Технологии это хорошо, но иногда приходится программировать, не изобретать велосипед, а затыкать дыры в абстракциях, так как ни одна технология не универсальна и не покрывает все потребности. 

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

Добавлено через 1 минуту и 35 секунд
Цитата(LSD @  17.4.2008,  11:39 Найти цитируемый пост)

Вообщем учить надо тот язык и фреймворки который применятся в целевой области. 

Это не отменяет знание базовых вещей, таких как алгоритмы, системный анализ и проектирование
PM MAIL Skype GTalk   Вверх
QryStaL
Дата 17.4.2008, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Intellectual feast
**


Профиль
Группа: Участник
Сообщений: 914
Регистрация: 30.11.2005




Цитата(Lazin @  17.4.2008,  11:43 Найти цитируемый пост)
В том-то и проблемма, C# программист подобен растолстевшему ленивому человеку, который из дома никогда не выходит =)

Люди разные бывают. Даже в пределах C# есть куда расти. А с учетом скорости его развития...

Цитата(Lazin @  17.4.2008,  11:43 Найти цитируемый пост)
Начинать нужно с низкоуровневых вещей, а иначе будет расти популяция приматов в отрасли.  

Продолжая аналогию, естественный отбор все расставит на свои места.  smile 


--------------------
I don't need a reason being who I am...
PM MAIL ICQ   Вверх
t_rex
Дата 17.4.2008, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 11.10.2006
Где: Украина, г. Запор ожье




ИМХО, конечно, но начинать учить программирование с высокоуровневых языков я считаю неправильным. Буквально недавно натыкался на статью, в которой рассказывалось что преподавание Java в ВУЗах как начального языка приводит к большим пробелам в знаниях основ работы вычислительной техники (ну или как-то так). В общем смысл был такой, что когда товарищ начинает учить программирование с высокоуровневых языков, он не понимает принципов например размещения обхектов в памяти, работы с указателями, принципов взаимодействия с оборудованием. Т.е. на выходе получаем кодера, который может прогать только по спекам (что на самом деле не так плохо, особенно для больших контор, которым действительно нужны кодеры, умеющие прогать от забора до обеда), и который как разработчик ничего не стоит ибо у него довольно узкий кругозор и "придумать" решение какой-нить нетривиальной задачи он не может.

Лично моя имхастая имха заключается в том что для школьников лучше Turbo Basic т.к. на нем просто учить основы алгоритмизации, потом в старших классах C++ консольный (ну или уж в крайнем случае Pascal.. ибо при умелом подходе, с помощью него можно немного подучить Assembler хотя бы на уровне базового понимания что такое команда, адресация и все такое, т.к. в C++ работа с inline assembly немного через ж..опу сделана), а дальше уже можно плясать либо в сторону C++ либо в сторону C#/Java либо PHP и прочец лобуды для Web.

В общем как бы там ни было, человеку не знакомому с программированием начинать с C# по-моему не стоит (если человек сознательно не хочет просто кодить.. например всякие инженеры, работающие с разными САПР и которым надо просто макрос для рассчетов написать, им например, как там оно внутри работает триста лет не надо).

Вот где-то так.. может немного сумбурно, зато жЫзненно.

Это сообщение отредактировал(а) t_rex - 17.4.2008, 12:40
--------------------
Жизнь не MultiEdit. Undo не сделаешьКросс-платформенное программирование с wxWidgetsБлог о программировании для мобильных устройтсвGoogle Android для программистов и пользователей
PM MAIL WWW ICQ Skype GTalk   Вверх
Retro
Дата 17.4.2008, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Диалектик
***


Профиль
Группа: Участник Клуба
Сообщений: 1934
Регистрация: 28.6.2005
Где: Киев




Цитата(source777 @  16.4.2008,  13:56 Найти цитируемый пост)
Видал я людей, которые называют себя программистами, но не могут сами даже массив отсортировать, если у переменной, содержащий массив, нет метода Sort, так вот очень жалкое это зрелище!!!

Катастрофа! smile 

Логика, как для программиста, довольно странная. 

Цитата

Чтобы научиться управлять экскаватором нужно сначала научиться копать лопатой.

PM MAIL   Вверх
DeamonShan
Дата 17.4.2008, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 26.11.2005




у меня C былпервым языком программирования, а после начал изучать PHP & Perl.... Perl-у так и не научился, потому что неркасивый язык... а другими не интересовался.... кстать PHP после C очень легко изучился...
PM MAIL   Вверх
LSD
Дата 17.4.2008, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin




Цитата(Lazin @  17.4.2008,  12:43 Найти цитируемый пост)
Это не отменяет знание базовых вещей, таких как алгоритмы, системный анализ и проектирование

Дык кто-же спрорит, только тема то называется:
Цитата
Может ли C# быть первым языком программирования

а не
Цитата
Нужна ли математика программисту

 smile 


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
vponomarov
Дата 17.4.2008, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 11.8.2007
Где: Киев




Цитата(QryStaL @  17.4.2008,  10:40 Найти цитируемый пост)
Программист - это не какая-то абстрактная сущность, а конкретный специалист со знаниями, навыками, способностями и умением это все применять на практике.

ну тут по-моему все зависит от целей человека: если он хочет всю жизнь делать однотипную работу типа рисовать простенькие формочки-кнопочки, то конечно ему достаточно прочитать книгу из цикла "С# для чайников", написать в резюме "разработчик Windows Froms" и идти зарабатывать деньги. но в таком случае, если человек столкнеться с нетривиальной (или даже просто не привычной) для него задачей, это поставит его в тупик.

Цитата(QryStaL @  17.4.2008,  10:40 Найти цитируемый пост)
И я бы не ставил знание алгоритмов выше, чем проектирование или знание конкретных технологий.

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


--------------------
user posted image
user posted image
PM MAIL ICQ   Вверх
source777
Дата 17.4.2008, 23:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007




Цитата(QryStaL @  17.4.2008,  10:40 Найти цитируемый пост)
нет, он не будет изобретать велосипед и тратить время на то, что уже написано и эффективно работает. В случае, если неэффективно или нету - напишет свое.
Но для обучения нужны как раз "велосипеды", это в реальной практике повторное использование рулит, а для обучения нет ничего хуже... И тем более человек, не построивший "велосипедов" для простых случаев, не сможет реализовать нечто своё для нестандартных случаев, он просто придёт на форум и будет ныть, что тут с завидным постоянством и наблюдается...

Цитата(Alekz @  17.4.2008,  11:14 Найти цитируемый пост)
Есть куча народу, которые несколько лет подряд кидают контролы на форму и пишут по паре строк обработчиков
Ты наверно удивишься, но в обработчиках контролов и не должно быть больше пары строк, ибо логику надо от интерфейса отделять... А не пихать в обработчиках событий по несколько сот строк...

P.S. Языки программирования, даже те, которые общего назначения, они всё равно проектировались для совершенно разных целей... Так вот учиться программированию гораздо логичнее на языках, спроектированных для этой цели(обучение), а не для промышленного программирования (Java, C#), и не для системного (C/C++) и т.д.

Цитата(LSD @  17.4.2008,  11:39 Найти цитируемый пост)
Уже сто раз говорилось, что синтаксис это только крохотная часть, основную сложность составляют фреймворки и предмтная область. 
Вот поэтому-то  главной ценностью обучение является не получение знаний о конкретном ЯП, а тренировка логического м аналитического мышления... Я в школе вообще язык РАЯ и блок-схемы изучал первое полугодие, между прочим для начала офигительный вариант, никаких тебе базовых библиотек функций/классов, вообще ничего, только управляющие конструкции, листок бумаги и ручка...

Добавлено через 5 минут и 9 секунд
Цитата(QryStaL @  17.4.2008,  10:40 Найти цитируемый пост)
Нас злит, когда мы видим в руках профанов и халтурщиков искусство магии, которую нас научили воспринимать как элитарный дар, привилегию наилучших и священную мистерию. Даже если это дедовская, бездарная и достойная осмеяния магия.
Кстати хорошая цитата, весьма точно подходит к программированию.


--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
archeg
Дата 19.4.2008, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 612
Регистрация: 6.1.2007
Где: Киев




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

Впринципе всегда можно начиать с ЛЮБОГО языка. Главное подойти к этому серйозно. И развиваться в несколько сторон - я считаю что чтобы быть профом, надо не просто знать технологию, а понимать как она работает на низком уровне. В таком случае вы как минимум сможете выбрать решение которое работает быстрее, которое гибче и позволяет сделать немного больше чем другие решения.


--------------------
ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru)

Дядька всегда можно спросить в аське, если не задалбывать - не откажет smile
И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои  ;)
PM MAIL ICQ Jabber   Вверх
LOPUH
Дата 20.4.2008, 06:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Растение
*


Профиль
Группа: Участник
Сообщений: 245
Регистрация: 15.2.2008
Где: Красноярск





Цитата(elvad @  15.4.2008,  15:02 Найти цитируемый пост)
Хотелось бы услышать мнение специалистов, можно ли начинать осваивать программирование с Си шарпа

  Как я понял, человек стремится  не решить какой то круг задач  а научиться программированию. Первый язык он все -таки накладывает отпечаток, и на основе его создается стиль программирования..  То есть, если подойти  к вопросу именно  с такой  точки зрения , то лучшим выбором будет Pascal, ИМХО, как один из наиболее "строгих" 
языков.  Сам я начинал с С/С++, но они  позволяют некоторые вольности, что не есть хорошо.. Что касается С#, то
его , как и любой  другой ЯП высокого уровня первым  изучать не стоит..
PM MAIL   Вверх
Lazin
Дата 20.4.2008, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re




Цитата

Не поймите меня неправильно: нет ничего неправильного в использовании Java в качестве рабочего языка.

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

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

C#, Java - особой разницы нет  smile 

источник
PM MAIL Skype GTalk   Вверх
W4FhLF
Дата 20.4.2008, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006




Кстати, интересный факт, который доказан и подтвержён собственным опытом. Человек, долго программирующий на низком уровне на любом языке высокого уровня норовит писать низкоуровневый код. Т.е. подход становится настолько же примитивным, насколько и сам низкоуровневый язык, который человек долгое время практиковал. 
Я несколько лет программировал на ассемблере и С, как после этого было трудно въехать в концепцию ООП и различных высокоуровневых абстракций. Прошло порядка года и я только сейчас начинаю чувствовать, что ко мне приходит понимание этих вещей и я пытаюсь мыслить в терминах абстрактных приближений. Хотя сейчас знание архитектуры процессора, памяти и ОС мне очень даже помогает в написании эффективного кода, поэтому нисколько не жалею о полученных знаниях, они очень даже пригодились. 


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
Beltar
Дата 14.5.2008, 10:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 627
Регистрация: 11.1.2006




Цитата

ИМХО, конечно, но начинать учить программирование с высокоуровневых языков я считаю неправильным. Буквально недавно натыкался на статью, в которой рассказывалось что преподавание Java в ВУЗах как начального языка приводит к большим пробелам в знаниях основ работы вычислительной техники (ну или как-то так).


Это не Джоэла статейка часом?

Цитата

Лично моя имхастая имха заключается в том что для школьников лучше Turbo Basic т.к. на нем просто учить основы алгоритмизации


В институте я как-то взялся сделать контрольную на Бейсике, изучал я Бейсик в школе в инсте были Паскаль, чуть-чуть Delphi и Си++, на последнем я сильно накололся и понял, что такие страшные штуки не для меня.  Ладно, беру все, что надо, кодю и благополучно накалываюсь на контекстное объявление переменной. Ну что ж, думаю в этом есть польза, сразу дать понять, что такое старые фортраноподобные языки, и почему появился Паскаль, впрочем он появился не только как учебный, но и как системный.

Выскажусь за Паскаль. По сравнению с VB это низкоуровневый язык, но из него эта низкоуровневость не прет в отличие от Си++ который сейчас становится узкоспециальным языком. Касательно самого C#, то м/б после C++ с его жутковатыми конструкциями он и смотреться прилично, но как-то странно выглядит его дикая задвинутость на объектах, смешение объектов и неймспейсов. Вместо алгоритма, программист сооружает какие-то дурацкие объекты, набитые никак друг с другом не связанными методами. Но сама применимость ООП, пока речь не идет о повторном использовании кода, она довольно невысокая. Берем учебники, по любому языку и видим, что из книги в книгу кочует пример о незакрашенной и наследованной от нее закрашенной фигуре. Больше примеров для объяснения на нач. уровне видать не находится.

Обучать ИМХО надо сначала процедурным языкам.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. smile(с) я, хотя может и нет
Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере.
PM MAIL   Вверх
source777
Дата 14.5.2008, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007




Цитата(Beltar @  14.5.2008,  10:01 Найти цитируемый пост)
Вместо алгоритма, программист сооружает какие-то дурацкие объекты, набитые никак друг с другом не связанными методами. 
Ну это уже вина "программиста", а не ООП...

Цитата(Beltar @  14.5.2008,  10:01 Найти цитируемый пост)
Но сама применимость ООП, пока речь не идет о повторном использовании кода, она довольно невысокая. Берем учебники, по любому языку и видим, что из книги в книгу кочует пример о незакрашенной и наследованной от нее закрашенной фигуре. 
Это всё последствия того, что авторы учебников сами как правило не программируют, они только "учат" программировать smile 
К тому же описание одного более менее реального примера применения ООП займёт как минимум страниц 50 печатного текста, в учебнике по языку, а не по ООП такое просто не позволительно... Однако это не повод давать абсурдные утверждения, вроде процитированного выше...





--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
Rrader
  Дата 14.5.2008, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Inspired =)
***


Профиль
Группа: Экс. модератор
Сообщений: 1535
Регистрация: 7.5.2005




Имхо не стоит с С# начинать smile 

Абстракция довольна высока - работа приложений на высокоуровневой виртуальной машине + "очистка" со взятием всего "лучшего" из предшествующих языков (C++, Java, VB)

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

Имхо C# создавался, чтобы на него переходили, с определёнными знаниями программирования smile 

Это сообщение отредактировал(а) Rrader - 14.5.2008, 15:00


--------------------
Let's do this quickly!
Rest in peace, Vit!
PM MAIL Skype   Вверх
Beltar
Дата 15.5.2008, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 627
Регистрация: 11.1.2006




Цитата

Это всё последствия того, что авторы учебников сами как правило не программируют, они только "учат" программировать


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

Цитата

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


Ну и ты сам же подтвердил своими 50 страницами, что не абсурдно. В принципе я могу привести пример ООП и на 15 строк кода, вот заставила меня жизнь сделать наследника от дельфового TTreeView только потому что стандартный не умеет не раскрываться при двойном щелчке. Но это уже не ООП, а <Censored> пример.

/me еще подумал на тему извратов СИ++ и дебилизма постпаскалевских языков Вирта вроде Оберона 2, который может и прост для обучения, ну чем, например, не логично объединить понятия структуры и класса, или убрать перечислимый тип. Логично, пока не придется размещать в памяти миллион простейших структур и за каждой будет тащиться как минимум указатель на базовый класс, или смотреть в отладчике на ничего не говорящую переменную, которая имела бы вполне осмысленное значение, если бы относилась к перечислимому типу.
Ну их всех нафих, всюду какой-то экстремизм в чем-либо...


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. smile(с) я, хотя может и нет
Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере.
PM MAIL   Вверх
source777
Дата 15.5.2008, 23:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007




Цитата(Beltar @  15.5.2008,  13:45 Найти цитируемый пост)
Ты правда так думаешь? Конечно переписать хелп может любой дурак, но никто не может научить чему-либо других не разбираясь в этом сам.
Я не думаю, я знаю, в смысле лично знаю двух авторов книг по программированию. Так что можешь поверить, написать книгу по языку программирования "для начинающих" на пару порядков проще(фактически действующий программист может написать книгу для новичков через пару месяцев после знакомства с новым для него языком программирования), чем написать на этом же языке систему профессионального уровня... Тут играет фактор того, что в программировании сам язык не самая важная составляющая. Т.о. человек, разбирающийся в программировании и одном ЯП, может писать книги хоть по всем остальным(если они не совсем эзотерические и поддерживают знакомые парадигмы) пока не надоест... А если учитывать какие копейки у нас в стране платят за написание книг, то легко понять почему опытные программисты не часто пишут книги, они просто на основной работе в 3-5 раз больше получают, поэтому опытные программисты пишут книги только в качестве хобби... И это очень редкое хобби...

Цитата(Beltar @  15.5.2008,  13:45 Найти цитируемый пост)
Ну и ты сам же подтвердил своими 50 страницами, что не абсурдно. В принципе я могу привести пример ООП и на 15 строк кода, вот заставила меня жизнь сделать наследника от дельфового TTreeView только потому что стандартный не умеет не раскрываться при двойном щелчке. Но это уже не ООП, а <Censored> пример.
Дело в том, что пример показывающий мощь ООП по определению относится к большим программным системам, там ты со своим структурным подходом загнёшься просто напросто пока напишешь, а когда понадобится что-нить поменять, структурный подход потребует в сотни раз больше времени, чем объектно-ориентированный. В этом вся соль, но тебе этого не понять, пока ты лично не напишешь проект на пару тысяч строк кода (код в обработчиках событий пользовательского интерфейса не считается)... А пока ты просто расставляешь компоненты по формам, а всё ООП в твоём ограниченном понимании сводится к изменению стандартного поведения контролов, закрашенным фигуркам и группировке несвязных методов в классы... Вот я тебе и советую, не высказываться понапрасну о темах, в которых не разбираешься, а вместо этого заняться расширением своего понимания, потом ещё сам же смеяться над своими постами будешь smile 



--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила раздела «Флейм»
Sneg0k

Добро пожаловать в «Флейм».

В разделе не действуют многие правила:

  • Можно оффтопить(умеренно)
  • Можно общаться на темы, не только связанные с программированием.

Строго запрещено:

  • Размещать рекламу
  • Обсуждать политику
  • Оскорблять друг-друга и переходить на личности
  • Наезжать, провоцировать других участников форума
  • Материться
  • Троллить

Напоминаем о существовании волшебной кнопочки "Репорт". Если вы увидели сообщение, несовместимое с жизнью, просьба подвести на нее курсор и клацнуть левой клавишей мышки. Тем самым вы сможете призвать злого, но жутко справедливого джина-модератора, который нашлет порчу на злостного нарушителя. Кстати - счётчик сообщений здесь не растёт.


Глас Винграда:


Глас Философии:


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Sneg0k

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Флейм | Следующая тема »


 




[ Время генерации скрипта: 0.1006 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.