Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 1144 • Страница 40 из 58<  1 ... 37  38  39  40  41  42  43 ... 58  >
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Member
Статус: Не в сети
Регистрация: 07.01.2010
Masterov писал(а):
ToSHiC писал(а):
и, кстати, перед изучением ассемблера я бы крайне рекомендовал освоить С. не плюсы, а именно С. без понимания, что такое сишный массив, сишные строки и указатели, особенно указатели, в ассемблер лучше даже не пытаться углубляться - голова будет сильно пухнуть :)
Начинать программировать с процедерных языков (такими являются С и ASM) - ошибка. Трудно себя заставить мыслить и программировать в объектах, если уже научился мыслить и программировать в процедурах.

во-первых, человек ХОЧЕТ изучать асм. это его право. я порекомендовал изучить С перед изучением асма. я не рекомендовал начинать учить асм. где твоя логика, а?
во-вторых, заставить себя понять ООП, может, и трудно, а понять легко.
в-третьих, если сосредоточиться на изучении парадигмы ООП, то потом может быть сложнее развивать навык алгоритмизации. процедурные языки хороши тем, что заставляют думать не о том, как провести декомпозицию задачи, а о том, как правильно алгоритмизовать её. да, это более сложный и более длинный путь, но знания получатся более комплексными и полными. например, профессионалы с мировым именем рекомендуют написать свой vector перед тем, как использовать оный из STL для того, чтобы лучше понимать, как он работает. а для того, чтобы написать свой vector надо понять, что такое двусвязный список. различные приложения, критичные к производительности (в т.ч. все игры), требуют от разработчика хотя бы базовых познаний, где надо использовать красно-чёрное дерево, к примеру, а где линейный список.
Masterov писал(а):
С++ для начального программирования не годится, поскольку содержит в себе обе парадигмы: процедурную и ООП. На С++ можно писать в процедурах и думать, что пишешь - в объектах. И кроме того - С++ весьма сложен. Все эти сложности накопились в результате того, что С++ родился из Си, и унаследовал от него процедурную технологию и прочие заморочки, которые в Си накопились за десятилетия развития этого языка.

именно поэтому с++ позволяет начать с алгоритмических задач. бинарное дерево - это, прежде всего, не кучка объектов, а алгоритмы поиска, добавления и удаления элементов. как будет реализован каждый лист дерева - дело десятое. да, это на уровень ниже, чем ООП, но профессионалу это тоже обязательно надо знать.
Masterov писал(а):
Если человек планирует обучаться программировать до уровня профессионала, то следует начинать с Java. Причём - с первой Java. Она компактна, с исходниками библиотек (по которым можно учиться программировать) и вней есть всё самое главное. А Java Вторая - монстр, который только запутает.
Java - потомок С++, который унаследовал от С++ только объектную часть. На Java нельзя писать в процедурах. Java такой возможности просто не даёт. В Java нет указателей и процедур выделения памяти. Выделение, очистку от мусора и дефрагментацию памяти Java выполняет самостоятельно, и делает она это хорошо. В Java есть механизм синхронизации параллельных процессов (контролируемый на уровне компиляции), что позволяет программировать на Java кластеры и многопроцессорные машины. И (в то же время) Java создавался для программирования встроенных систем с чудовищьно малыми ресурсами. Java работает в мобильниках(!) и даже - в кредитных картах и наручных часах.

Совет "начинать обучение профессиональному программированию" с Си или с С++ - плохой совет.

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

в россии сильна именно школа программистов-математиков, которые сильны в алгоритмах. поэтому, господа, если вы хотите стать профессионалом, математиком, а не ремесленником-инженером, то начинайте с кнута. ооп - это просто.



Партнер
 

member+
Статус: Не в сети
Регистрация: 16.01.2004
Откуда: Estonia,Tallinn
Masterov писал(а):
разницы между программами, написаннымит на С++ и JavaScript практически (как правило) нет

Если речь идёт о простых вещах то да, когда дело касается обработки большого объёма данных то увы разница в быстродействии становится ОГРОМНЕЙШЕЙ

_________________
X99-TF/E5-2678v3+Evo212/2x16Gb-DDR4-Gloway-TYPE-a@2133-12-13-13-26/GTX1070TI/KINGSTON-SNV2S1000G


 

Member
Статус: Не в сети
Регистрация: 15.08.2007
ToSHiC писал(а):
то начинайте с кнута


ну начинать с Кнута, ты это загнул :)

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

Алгоритмы: построение и анализ
http://www.williamspublishing.com/Books ... 857-4.html

рекомендую всем...

А Кнут хорошо когда надо углубиться в тему. Но он кстати до сих пор не дописал свой фундаментальный труд, сейчас еще выходит 4 том (частями), а у него еще запланированы несколько томов. Будем надеяться, что до конца своей жизни он все таки его закончит.

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

ps
а так во всем согласен, путь (быдло)кодера простой, но хорошим программистом так не станешь.


 

Member
Статус: Не в сети
Регистрация: 03.03.2010
ToSHiC писал(а):
по твоей методике получится кодер, программист-ремесленник. большинство индусов - как раз такие. большинство израильских программистов - тоже.
Нуда-нуда... Они все дураки, а ты - умный.

Между прочим, их учат программировать профессионалы. А кто тебя учил?
Цитата:
во-вторых, заставить себя понять ООП, может, и трудно, а понять легко.
Один знаменитый писатель (который почти всю жизнь курил трубку) заявил: "Бросить курить, это - пара пустяков: лично я это делал много-много раз!"

Тебе только кажется, что ты понял ООП. Если ты пользуешь указатели в С++, то - ты точно - ничегошеньки не понял.
Цитата:
ооп - это просто
Всё просто, когда понял, или - думаешь, что - понял.
Цитата:
если сосредоточиться на изучении парадигмы ООП, то потом может быть сложнее развивать навык алгоритмизации
Надумано. Нет такой проблемы. (Будто на калькуляторе никто из нас не считал.)
Цитата:
именно поэтому с++ позволяет начать с алгоритмических задач
Да кто тебе сказал, что начинать нужно с алгоритмических задач?
Цитата:
не надо никакой java1, надо качать последний jdk с сайта сана, купить хороший учебник и начать покорять землю
Глупый, дурацкий совет!
Исходники Java1 - 200 файлов
Исходники Java2 - 10000 файлов - состаришся прежде, чем разберёшься и поймёшь - что в Java главное и что она из себя представляет.
Цитата:
в россии сильна именно школа программистов-математиков
Устаревшая информация.
РАН - тусовка престарелых начальствующих снобов, которых обслуживают юноши, косящие от армии. В 2003 году, когда я там работал (17 лет), именно так было. За последние годы всё стало только хуже.

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

Нашь ведущий московски НИИ математики (название не помню) на одной из конгференций по параллельному программированию хвастал, что они распараллеливают Fortran.

Это и есть уровень школы программистов. Уровень - ниже плинтуса, а самомнение - просто зашкаливает.
Vladson писал(а):
Masterov писал(а):
разницы между программами, написаннымит на С++ и JavaScript практически (как правило) нет
Если речь идёт о простых вещах то да, когда дело касается обработки большого объёма данных то увы разница в быстродействии становится ОГРОМНЕЙШЕЙ
Сложных задач немного, и - пусть их решают проффи.


 

Member
Статус: Не в сети
Регистрация: 07.01.2010
Masterov писал(а):
ToSHiC писал(а):
по твоей методике получится кодер, программист-ремесленник. большинство индусов - как раз такие. большинство израильских программистов - тоже.
Нуда-нуда... Они все дураки, а ты - умный.

Между прочим, их учат программировать профессионалы. А кто тебя учил?
а я где-то сказал, что они дураки? я сказал, что они - ремесленники. разницу видишь?
Masterov писал(а):
Цитата:
во-вторых, заставить себя понять ООП, может, и трудно, а понять легко.
Один знаменитый писатель (который почти всю жизнь курил трубку) заявил: "Бросить курить, это - пара пустяков: лично я это делал много-много раз!"

Тебе только кажется, что ты понял ООП. Если ты пользуешь указатели в С++, то - ты точно - ничегошеньки не понял.

c++ без указателей? а полиморфизм, интересно, как работать будет? похоже, ты не знаешь либо что такое полиморфизм, либо с++.
Masterov писал(а):
Цитата:
если сосредоточиться на изучении парадигмы ООП, то потом может быть сложнее развивать навык алгоритмизации
Надумано. Нет такой проблемы. (Будто на калькуляторе никто из нас не считал.)
Цитата:
именно поэтому с++ позволяет начать с алгоритмических задач
Да кто тебе сказал, что начинать нужно с алгоритмических задач?
сначала надо понять, что делать - это алгоритмизация. потом как делать - это выбор ООП, процедурный язык или ещё чего. с опытом применения ООП на маленьких примерах сложно будет взяться за большую задачу. будет, скажем, ясно, что "дебетовый счёт" и "кредитный счёт" можно сделать классами, унаследованными от базового "счёт". а что с ними делать, чтобы провести транзакцию - не понятно. надуманный пример, но в качестве иллюстрации сойдёт.
Masterov писал(а):
Цитата:
не надо никакой java1, надо качать последний jdk с сайта сана, купить хороший учебник и начать покорять землю
Глупый, дурацкий совет!
Исходники Java1 - 200 файлов
Исходники Java2 - 10000 файлов - удавишься, прежде чем разберёшься и поймёшь - что в Java главное и что она из себя представляет.

а исходники то нафига изучать, раз уж начал с ООП? всё равно, что начать изучение линукса с исходников ядра. если пошёл по этому пути - то надо купить книжку хорошую и пытаться разобраться по ней, что такое ООП и с чем его едят, ну и как на жаве свои классы реализовывать. как может помочь знание внутренней структуры java.io.FilterOutputStream.PrintStream в понимании
Код:
class HelloWorldApp {
    public static void main(String[] args) {
        System.out.println("Hello World!"); // Display the string.
    }
}

?

Добавлено спустя 57 минут 15 секунд:
Masterov писал(а):
Устаревшая информация.
РАН - тусовка престарелых начальствующих снобов, которых обслуживают юноши, косящие от армии. В 2003 году, когда я там работал (17 лет), именно так было. За последние годы всё стало только хуже.

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

Нашь ведущий московски НИИ математики (название не помню) на одной из конгференций по параллельному программированию хвастал, что они распараллеливают Fortran.

Это и есть уровень школы программистов. Уровень - ниже плинтуса, а самомнение - просто зашкаливает.
причём тут РАН и НИИ? я про программистов. у нас процент тех, кто действительно профессионал, а не ремесленник, выше, чем в индии или в израиле. это не какая-то абстрактная статистика, я это вижу своими глазами.
Masterov писал(а):
Vladson писал(а):
Masterov писал(а):
разницы между программами, написаннымит на С++ и JavaScript практически (как правило) нет
Если речь идёт о простых вещах то да, когда дело касается обработки большого объёма данных то увы разница в быстродействии становится ОГРОМНЕЙШЕЙ
Сложных задач немного, и - пусть их решают проффи.
вопрос, опять же, в том, чего хочет достигнуть человек, который хочет начать учиться программировать.


 

Member
Статус: Не в сети
Регистрация: 03.03.2010
ToSHiC писал(а):
c++ без указателей? а полиморфизм, интересно, как работать будет? похоже, ты не знаешь либо что такое полиморфизм, либо с++
Тяжелый случай... Многому тебе ещё предстоит научиться, юноша. А ещё хвастал - в России школа программистов...

В Java нелзя получить указательна на чало массива данных, а потом "гулять по нему" - взад-вперёд, как это позволено в Си и С++.

Тот факт, что С++ предоставляет возможность напрямую обращаться к памяти, становится причиной ненадёжности кода, написанного на С++. Нет никакой гарантии, что указатель в программе (на С++ написаннной) не залезит за пределы массива и не затрёт кусок кода, подвесив комп.

Что касается полиморфизма, то там на уровне компилятора идут контроль за указателями. Программист (в Сишном понимании) не имеет доступа к указателям.

ПРИМЕР: в Си есть функций qsort(). У неё в параметрах пара указателей. Однин на массив, который нужно отсортировать, другой - на функцию, которая сравнивает между собой пару элементов в массиве. Если перепутать местами эти указатели, то (в лучшем случае) программулина зависнет.

В Java подобное в принципе невозможно.
Цитата:
а исходники то нафига изучать, раз уж начал с ООП?
Программированию нужно учиться у профессионалов, а не болтунов, что только треплютя и пальцы загибают.

Библиотеки Java писали суперпроффи. У них учится нужно.
Цитата:
причём тут РАН и НИИ? я про программистов. у нас процент тех, кто действительно профессионал, а не ремесленник, выше, чем в индии или в израиле. это не какая-то абстрактная статистика, я это вижу своими глазами.
Не верю. Оснований для подобного в России просто нет. А после дефолта 1998 года мамонты программирования, что десятки лет за клавиатурой провели, вымерли как класс. Молодёже учиться не у кого.
Цитата:
вопрос, опять же, в том, чего хочет достигнуть человек, который хочет начать учиться программировать.
Так я и привёл два варианта обучения:
1. Человек хочет стать программистом.
2. Человек хочет подняться немного выше, чем просто польсователь ПК.


 

Member
Статус: Не в сети
Регистрация: 15.08.2007
Masterov
Цитата:
ПРИМЕР: в Си есть функций qsort(). У неё в параметрах пара указателей. Однин на массив, который нужно отсортировать, другой - на функцию, которая сравнивает между собой пару элементов в массиве. Если перепутать местами эти указатели, то (в лучшем случае) программулина зависнет.


конкретный код в студию!


 

Member
Статус: Не в сети
Регистрация: 07.01.2010
Masterov писал(а):
ToSHiC писал(а):
c++ без указателей? а полиморфизм, интересно, как работать будет? похоже, ты не знаешь либо что такое полиморфизм, либо с++
Тяжелый случай... Многому тебе ещё предстоит научиться, юноша. А ещё хвастал - в России школа программистов...

В Java нелзя получить указательна на чало массива данных, а потом "гулять по нему" - взад-вперёд, как это позволено в Си и С++.

Тот факт, что С++ предоставляет возможность напрямую обращаться к памяти, становится причиной ненадёжности кода, написанного на С++. Нет никакой гарантии, что указатель в программе (на С++ написаннной) не залезит за пределы массива и не затрёт кусок кода, подвесив комп.

Что касается полиморфизма, то там на уровне компилятора идут контроль за указателями. Программист (в Сишном понимании) не имеет доступа к указателям.

ПРИМЕР: в Си есть функций qsort(). У неё в параметрах пара указателей. Однин на массив, который нужно отсортировать, другой - на функцию, которая сравнивает между собой пару элементов в массиве. Если перепутать местами эти указатели, то (в лучшем случае) программулина зависнет.

В Java подобное в принципе невозможно.

причём тут жава? причём тут С? причём тут массивы? ты читал, что я написал?
если ты про игру с указателями - так и пиши тогда. а, скажем, бинарное дерево то же на С++ без указателей сделать не получится.
Masterov писал(а):
Цитата:
а исходники то нафига изучать, раз уж начал с ООП?
Программированию нужно учиться у профессионалов, а не болтунов, что только треплютя и пальцы загибают.

Библиотеки Java писали суперпроффи. У них учится нужно.
ага, а учиться водить надо перебирая двигатель машины
Masterov писал(а):
Цитата:
причём тут РАН и НИИ? я про программистов. у нас процент тех, кто действительно профессионал, а не ремесленник, выше, чем в индии или в израиле. это не какая-то абстрактная статистика, я это вижу своими глазами.
Не верю. Оснований для подобного в России просто нет. А после дефолта 1998 года мамонты программирования, что десятки лет за клавиатурой провели, вымерли как класс. Молодёже учиться не у кого.

книги есть.


 

Member
Статус: Не в сети
Регистрация: 03.03.2010
Цитата:
ага, а учиться водить надо перебирая двигатель машины
Разве я предлагал изучать исходники виртуальной машины и нативных библиотек?

В Java есть билиотека (AWT), написанная на Java. Это её исходники следует изучить.
Цитата:
книги есть
Вот наша молодёжь и учит PHP и Паскаль по книгам. (С++ - не самы плохой выбор, но то же - дурацкий выбор.)


Последний раз редактировалось Masterov 26.03.2010 18:18, всего редактировалось 1 раз.

 

Member
Статус: Не в сети
Регистрация: 07.01.2010
человек не знает жавы вообще. совсем. он даже английский с трудом понимает, например. а ты предлагаешь ему библиотеки читать. он всё равно ничего не поймёт без основ.


 

Member
Статус: Не в сети
Регистрация: 03.03.2010
ToSHiC писал(а):
человек не знает жавы вообще. совсем. он даже английский с трудом понимает, например. а ты предлагаешь ему библиотеки читать. он всё равно ничего не поймёт без основ.
Основы в книжках описаны (лучшая книга: 1001 совет по Java), а незнанием английского наше поколение могло хвастать. Вам не знать английский (когда столько mp3-самоучителей) - стыдно. Не может современный молодой человек английского не знать и неуметь пользовать ПК, хотя бы на уровне пользователя.


 

Member
Статус: Не в сети
Регистрация: 07.01.2010
тем не менее многим отбивают желание учить ещё в школе. айтишники худо-бедно, но технический все знают в силу специфики работы.
да и уровень пользователя уровню пользователя рознь. худо-бедно многие могут...


 

Member
Статус: Не в сети
Регистрация: 03.03.2010
ToSHiC писал(а):
тем не менее многим отбивают желание учить ещё в школе. айтишники худо-бедно, но технический все знают в силу специфики работы.
да и уровень пользователя уровню пользователя рознь. худо-бедно многие могут...
Согласен. Сам через это прошел. (В школе был немецкий, в университете - английский, на выходе - нуль: сказать ничего не могу, на слух не воспринимаю, но за 30 лет документацию худо-бедно читать научился.)

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

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


 

Народ, так всеже, что легче в изучение? :slobber:


 

Junior
Статус: Не в сети
Регистрация: 06.01.2008
mccornik писал(а):
Народ, так всеже, что легче в изучение? :slobber:

ruby - отличная документация, множество уже готовых компонентов, кроссплатформенная реализация интерпретатора языка.


 

Member
Статус: Не в сети
Регистрация: 07.01.2010
mccornik писал(а):
Народ, так всеже, что легче в изучение? :slobber:

цель то какая? :)


 

Member
Статус: Не в сети
Регистрация: 03.03.2010
mccornik писал(а):
Народ, так всеже, что легче в изучение?
Два глухих встретились:
-- Ты в баню?
-- Данет, я - в баню!
-- Ааа... Я думал ты в баню.

mccornik - читать умеешь? Или ты - "писатель"?
kidoz писал(а):
mccornik писал(а):
Народ, так всеже, что легче в изучение? :slobber:
ruby - отличная документация, множество уже готовых компонентов, кроссплатформенная реализация интерпретатора языка.
Это правда, что: не бывает глупых вопросов. Бывают глупыми ответы.

kidoz, ты специально тут, чтобы давать глупые ответы и глупые советы?

Твой раби - где работает? В мобильнике? В браузере стандартного виндусового клиента? Может: на стадартном нынче хостинге? Человек, который на раби напишет программу - сможет её продемонстрировать работодателю?
ToSHiC писал(а):
mccornik писал(а):
Народ, так всеже, что легче в изучение? :slobber:
цель то какая? :)
А вот это правильный вопрос. Хотя: вопросом на вопрос... вроде как... Но не в данном случае.

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


Последний раз редактировалось Masterov 27.03.2010 13:41, всего редактировалось 1 раз.

 

Member
Статус: Не в сети
Регистрация: 09.04.2006
Masterov писал(а):
Человек, который на раби напишет программу - сможет её продемонстрировать работодателю?



Может ему надо будет запустить её? :)

_________________
Библиотеки Windows - Мы заставим ваши папки тормозить!


 

Member
Статус: Не в сети
Регистрация: 03.03.2010
moty писал(а):
Masterov писал(а):
Человек, который на раби напишет программу - сможет её продемонстрировать работодателю?
Может ему надо будет запустить её? :)
Раби - интерпретируемый язык. Чтоб его запустить (прежде) нужно интерпретатор этого языка установить на комп работодателя. Он тебе это позволит?

Допустим ты убедил работодателя установить на его комп интерпретатор и смог продемонстрировать. Но работодатель сразу спросит: чтоб твоя программулина работала у его (работодателя) партнёров, клиентов и т.п. - нужно будет убедить и их, чтоб и они установили интерпретатор раби. Они согласятся? Уверен? Им этот геморой нужен, в то время как HTA работает везде, на всех виндусовых компьютерах.

Всё, что не работает на стандартном виндусовом клиенте и/или в мобильнике - хлам и мусор, место которому в мусорной корзине.


 

Junior
Статус: Не в сети
Регистрация: 06.01.2008
Masterov писал(а):
kidoz, ты специально тут, чтобы давать глупые ответы и глупые советы?

Твой раби - где работает? В мобильнике? В браузере стандартного виндусового клиента? Может: на стадартном нынче хостинге? Человек, который на раби напишет программу - сможет её продемонстрировать работодателю.

У вас крайне примитивное представление о ruby.
Для создания самодостаточной программы можно воспользоваться http://exerb.sourceforge.jp/index.en.html под windows.
Для web CGI еще никто не отменял.
jruby - ruby будет там, где будет java :)

Чьи еще советы и ответы глупы, я бы поспорил.

P.S.
Для web еще неплох ruby on rails, свои работы на нем крайне удобно демонстрировать с помощью Ruby on Rails Portable на USB.


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 1144 • Страница 40 из 58<  1 ... 37  38  39  40  41  42  43 ... 58  >
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


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

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan