LINUX.ORG.RU

Раннее знакомство с Java калечит судьбы программистов?

 ,


0

0

По мнению профессоров Нью-Йоркского университета Роберта Девара (Robert Dewar) и Эдмонда Шонберга (Edmond Schonberg) у студентов, начавших изучение программирования с Java, присутствуют только поверхностные знания о предмете. Также они считаю, что изучение програмирования стоит начинать с низкоуровневого языка Си, а также языков С++, Lisp и Ada.

>>> Источник

anonymous

Проверено: Shaman007 ()

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

ASterikS
()

> линейная временная логика

А!!! Фанаты Promela???

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

>Я , например, начинал учится программированию на программируемом микрокалькуляторе.

Это вне конкурса. MK-61 рулид:)

r ★★★★★
()

В общем всё верно. Но не именно про Джаву а вообще про высокоуровневые языки с большими библиотеками. Студент просто пример неверное предположение, что прикладная библиотека==язык.

Сам я изучал усе так: Pascal->Delphi->PHP->C++->Java. Правда серьёзно, начал заниматься ООП только после того, как прочитал книжку Бека "Рефакторинг" и как раз встала задача отрефакторить один Java-проект в 50 KLOC, написаный в жестком процедурном стиле (писал не я).

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

Ну, тогда круче МК-61 будут самодельные ячейки памяти на К155ЛА3 и К176ЛА7 :)) Кто паял такие или аналогичные, давайте меряться :))))

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

Откуда можно знать то чем оно отличается. Или вы считаете что это все реализуемо только на Си, а на Бейсике это все нельзя сделать? Странно вы смотритесь когда утверждаете что только пройдя через Си можно сложить 2+2. :(

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

>Я Java'у перестал уважать после того, как узнал, что в ней нет typedef.

Поздравляю, вас покалежило С/C++. Суть вы ни чем не отличаетесь от покалеченного джавой. :D

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

>Раннее (а может и просто) знакомство

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

а в институте учат всех кому не лень. "хочу быть програмером". да какой из тебя нафиг программер если у тебя мышление вообще гуманитарное. будеш быдлокодером который на одну строчку втыкает минут 20 чтоб понять что она делает. а до манагера который в голове держит примерную структуру всего проекта вообще никогда не дорастёш. в результате бросиш своё программирование лет в 25 и пойдёш в ларёк торговать.

gigabito
()

Наверно не Джава или .НЕТ виноваты, а нежелание вникнуть в суть .

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

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

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

a = b
b = a

где B -|> A.

Очень распространненое размышление (прямо вслух делают) "так тут давнкаст тут апкаст" и после этого часто неправильный вывод о том, что именно будет. Но даже, если вывод правильный, важно то, что люди анализируют этот факт не с точки зрения понимания, что такое типизация, а ищут просто в памяти какие-то теги (давнкаст, апкаст) пытаясь формулировать вывод по заученным тегам. То есть они _не понимают_, что тут происходит.

Эта вся фигня связана с зубрежом. Еще один вывод что люди просто обчитавшиеся GoF и прочего и знающие названия и структуры паттернов наизусть - на практике не распознают паттерновых ситуаций. То есть из названия Design Patterns: Elements of Reusable Object-Oriented Software они осилили только первую часть названия. Хотя по паттернам могут читать лекции. А на практике пишут такой ужас что страшщно становится.

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

Есть люди, которые знают меньше учеников но очень хорошие учителя. ИМХО, вы тут малость разные понятия смешиваете программиста и учителя. Можно быть отличным программистом, но двух слов вместе не мочь связать, а можно быть отличным учителем больше чем программы в 10 строк не мочь написать.

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

>Откуда можно знать то чем оно отличается. Или вы считаете что это все реализуемо только на Си, а на Бейсике это все нельзя сделать? Странно вы смотритесь когда утверждаете что только пройдя через Си можно сложить 2+2. :(

Перестаньте троллить. Если бы все программы были не сложнее 2+2, обучаться можно было бы на любом ЯП.

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

gigabito, а для для вас гуманитарий = блондинка? Вы убоги, gigabito, у Вас узкое мышление. Вы и есть кодер наверно? Вы не видели гуманитариев, которые в голове держут структуру бизнеса :) который кормит их и их работников, частью которого является программа, структура которой, не примерная, а точная, тоже в голове :) Вы уж не обижайте нас, гуманитариев... А то уволят ненароком...

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

> Я, проведя не один десяток собеседований, выяснил,

Ну на собеседовании можно такого наговорить )) Тут надо учитывать психологический фактор ...

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

> изучение програмирования стоит начинать с низкоуровневого языка Си, а также языков С++, Lisp и Ada.

С чего лучше начинать непонятно...

Знать нужно все перечисленное + Asm + Pascal + Fortran ...

Хотя бы для общего развития если речь идет об обучении программистов.

Кстати а что в начальной школе у них там информатики нету ?

Может таки эти студенты начинали с Лого, Басика, Паскаля еще в школе ...

AlexLorovitch
()

я набивал машинные кода в БЗ-34 и MK-52 -- не умер :)

а яву не знаю и не вижу смысла вообще учить, С/С++ хватает c головой

vadiml ★★★★★
()

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

Sun-ch
()
Ответ на: комментарий от JackYF

Вот таким же образом многие линукс "не уважают" потому что "в нем нет виндовса".

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

>Странно вы смотритесь когда утверждаете что только пройдя через Си можно сложить 2+2. :(

Как уже тут заметили про partial evaluation и компанию посмотрите на такой пример и вам станет ясно:

let add x y = x + y;;

let inc = add 1;;

что даже с случаем 2 + 2 - не все так просто как кажется:)

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

Прости меня, но все начинается именно со сложения и тд и тп...К примеру те же самые И НЕ ИЛИ элементы.

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

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

Откуда 25 ?

cap838383
()
Ответ на: комментарий от Sun-ch

А суныч пусть идёт с ынтырпрайз-жопу с дотнетом, явой, блекджеком и шлюхами!

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

> C++? Он бы еще предложил с perl начинать

перл как раз гораздо ближе к С

лучше б в школе perl учили место basic -- он и проще, и в тоже время для неповерхностного знания надо знать как работает система

vadiml ★★★★★
()

>Ну, тогда круче МК-61 будут самодельные ячейки памяти на К155ЛА3 и >К176ЛА7 :)) Кто паял такие или аналогичные, давайте меряться :))))

Сколько лет прошло, а ЛА3 еще сейчас помню =)))
Если начать с радиотехники, то сначала паял радиоприёмники, потом усилители НЧ, потом цифровая техника. Потом у меня появился комп ))


>а в институте учат всех кому не лень. "хочу быть програмером". да какой >из тебя нафиг программер если у тебя мышление вообще гуманитарное. >будеш быдлокодером который на одну строчку втыкает минут 20 чтоб понять >что она делает. а до манагера который в голове держит примерную >структуру всего проекта вообще никогда не дорастёш. в результате бросиш >своё программирование лет в 25 и пойдёш в ларёк торговать.

+1000

MK61 -> DOS -> Windows Assembler -> FreeBSD PHP, Perl, Web-дизайн -> GNU/Linux C++, D

Вообще-то язык выбирается из поставленой задачи...

siegerstein
()

Обучение программированию стоит начинать с формальной и математической логики, Шеннона, Тьюринга и фон Неймана. А продолжать после этого чем угодно, под стоящие перед выпускниками задачи... Причем с формальной и математической логики начинать следует обучение вообще. У выпускников многих, с которыми я собеседовал, проблемы были именно с логикой. Как и какой они при этом знают язык, меня уже не интересовало.

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

>Карьера программиста должна заканчиваться к 25 годам, и нахрен не надо учит 10 языков ...

Карьера - это у манагеров, маркетологов, логистов :)

У программистов - это призвание, судьба, болезнь, ...

Перестать программировать невозможно.

Иначе ты и не начинал вовсе ...

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

>но вполне алгоритмическая система мышления.

Я видел вполне грамотных программистов, которые не могли осилить конструкцию типа (псевдоязык - к синтаксису не придираться)

a = f(x, f(y, f(z, 0)))

где f(x,y) = x > 0 ? x : y;

вместо здорового _последовательного_ дабора диких if (пример упрощен до сути - реально кода было больше).

r ★★★★★
()
Ответ на: комментарий от Sun-ch

> Карьера программиста должна заканчиваться к 25 годам

Что за бред?

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

Руководство отстой . Дизайн дизайнерам . Программирование программистам ......

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

> Ну, тогда круче МК-61 будут самодельные ячейки памяти на К155ЛА3 и К176ЛА7 :)) Кто паял такие или аналогичные, давайте меряться :))))

А я до сих пор клепаю железки на контроллерах десятка разных семейств. И пишу к ним софт. На ассемблере, mostly. Я умру, да?

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

>Ну на собеседовании можно такого наговорить )) Тут надо учитывать психологический фактор ...

Я как профессиональный собеседовальщик в курсе этого и на понт людей не беру:) Люди которые не проходят уходят от меня пок крайней мере нацчившись кое-чему новому:)

r ★★★★★
()
Ответ на: комментарий от Sun-ch

>адо учить наиболее востребованый на данный момент рынком. Это ява и дотнет.

Их уже надо заканчивать учить:)

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

Саныч имел в виду, что существует "восприятие данных" которое ближе к старости все более обостряется и обостряется. Теже шахматисты. Не видел еще ни одного кто бы в лет 50 чемпионом мира был бы, хотя вроде бы опыта все больше и больше должно быть.

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

Ну, контроллеры - это тебе не ТТЛ-элемент на трёх транзисторах :))

Кстати, на чём сейчас модно клепать железки - на Atmel? Я так понял, легендарная PIC16F84 уже RIP?

tim2k
()

Пятнадцать лет назад тоже самое говорили о Basic. Вывод - Java==Basic %))

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

>АЛУ на К155ЛА3 спаять уметь должен каждый! ;)

Ну простите меня - я токо теоретически, теоретически:))))

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

> Я Java'у перестал уважать после того, как узнал, что в ней нет typedef.

О да, Яву не падает черерез то, что какой-то умник одну либу скомпилил с typedef ... float а другую с typedef ... double. Кроме того, в каком месте Ява должна хранить эти typedef-ы? Таскать за каждым класом ещё и заголовочные файлы?

> Статью не читал, заголовок одобряю.

Добро пожаловать в санаторий.

PS. typedef санаторий биореактор;

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

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

Васик на Спектруме, асм для него же, асм для realmode x86, C--, C, Perl, C++ (до состояния светимости ауры ниасилил), сейчас Lisp терзаю :) В школе/универе боком задел паскаль и матлаб.

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

> если уж говорить в данном контексте , то скорее знакомство с шарпом калечит :-)

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

Почему-то никто не упомянул про глобальный и надежный язык. После нескольких лет на пыхпыхе даже питон кажется сложным.

Мое мнение — для обучения программированию вполне подходит паскаль. Он дисциплинирует. Ну в крайнем случае чистый си. К плюсам допускать не раньше чем через год, а к перлу вообще — только морально устойчивых.

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

> gigabito, а для для вас гуманитарий = блондинка? Вы убоги, gigabito, у Вас узкое мышление. Вы и есть кодер наверно? Вы не видели гуманитариев, которые в голове держут структуру бизнеса :) который кормит их и их работников, частью которого является программа, структура которой, не примерная, а точная, тоже в голове :) Вы уж не обижайте нас, гуманитариев... А то уволят ненароком...

Я не gigabito, но скажу вам, anonymous, что вы убоги если анонимно защищаетесь, называя умным кого-то кого не видели (ведь это не вы это "структуру бизнеса" в голове держите, насколько я понял).

А основное чуть в другом. Гуманитарное мышление и гуманитарии - совсем разные вещи. Много программеров просто ошиблись выбором универа (специальности), но потом это осознали. Никто вас не собирался обижать, но относительно "структуры бизнеса" скажу честно - я не верю что она сравнится со структурой программы огромной (аналогии аналогиями, но это не оно).

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