Имя: Пароль:
IT
 
Инструмент для ООП
,
0 isa2net
 
24.02.20
01:17
Здравствуйте! Не холивара ради, а познания для - посоветуйте какой лучше яп взять в качестве инструмента для освоения ООП. Чтобы меньше времени тратить на  фишки самого языка, а больше на раскрытие нюансов ООП. Думаю  в сторону С#, Java или Ruby.
1 Garykom
 
гуру
24.02.20
01:59
ООП он бывает разный.
Поэтому советую брать несколько языков.

Кстати C#, Java и Ruby это одна и та же вида ООП, бери еще Python, Golang или нечто иное с https://ru.wikipedia.org/wiki/Утиная_типизация как основной метод "ООП".
Да утиная есть в C# через хак и в Ruby но там это не основное. Для Java есть Scala где есть аналогичное.
2 Конструктор1С
 
24.02.20
04:44
Звучит как "хочу освоить рулевое управление, посоветуйте автомобиль"
3 ДенисЧ
 
24.02.20
05:09
Smalltalk
4 isa2net
 
24.02.20
05:37
(2) Так посоветуйте: передний, задний привод, механика, вариатор, автомат...
5 isa2net
 
24.02.20
05:40
(3) https://habr.com/ru/post/55797/ - вот с этими всеми нюансами?
6 ДенисЧ
 
24.02.20
05:48
(5) Нюансы - это когда у тебя ... скажем, палец в ... скажем, анусе, и у меня тоже. Но есть нюансы.
А тут просто небольшие особенности.
7 Aleksey
 
24.02.20
05:49
ООП фигня и зло.
ООП хорошо в случае сферический задачи в вакумме, когда можно изначально абстрагироваться и выбрать правильный уровень абстракции для модели. Но в случае когда в начале никто не знает что должно быть в конце - ООП только мешает резать по живому и прятать костыли
8 Конструктор1С
 
24.02.20
05:50
(4) ООП это всего-лишь метод программирования. И ООП ради ООП крайне сомнительная затея
9 isa2net
 
24.02.20
06:13
(6) Нюансы, особенности - словоблудие... Можно потратить время на освоение Squeak, вопрос - какие особенности удастся познать на смолтолке и руби для этого не подойдет.
10 Aleksey
 
24.02.20
06:29
(9) Вы бредите. В ООП главное умение работать с объектами. Т.е. для работы и изучения вообще не нужно знать ЯП. Никому в голову не придет так формулировать вопрос. Это все равно что спросить "какой ЯП мне взять чтобы изучить Agile"
11 isa2net
 
24.02.20
06:38
(10) Да так же как и алгоритмы, изучаются вне контекста языка, язык нужен чтобы "пощупать" все это. Или не так?
12 v77
 
24.02.20
10:26
Тема высосана из пальца ради холивара. Для понимания ООП не нужны никакие инструменты. Там делов на полчаса. А вот реализации ООП в конкретных языках - это уже посерьёзнее.
13 ДенисЧ
 
24.02.20
10:30
(12) Давай, за полчаса разьясни нубу за SOLID )))
14 v77
 
24.02.20
10:38
(13) ну это уже потом
15 ДенисЧ
 
24.02.20
10:39
(14) А как без этого современный ооп объяснять?
16 v77
 
24.02.20
10:41
(15) это больше про то, как правильно использовать ООП
17 Asmody
 
24.02.20
11:11
1) Кому нужен Ruby, когда есть Elixir?
2) Чисто академически ООП можно хоть на паскале объяснять.
Если хочется "по классике" объекты и сообщения, то Smalltalk чисто напоиграться. Качаешь https://pharo.org/ и радуешься. Делать на нем что-то сложнее "Hello world"? Ну я не знаю... Из "промышленных" языков идеи смолтолка только в Object-C нашли применение. Который сам уже сходит постепенно.
18 trdm
 
24.02.20
12:07
На самом деле знать паттерны программирования намного полезнее, чем ООП.
А попрактиковаться в ООП лучше всего в с++.
19 trdm
 
24.02.20
12:11
так что великом в https://refactoring.guru/ru/design-patterns
И зубрить...
20 jbond
 
24.02.20
12:12
Только Апекс! Только хардкор! Только стотышмиллионов!
21 jbond
 
24.02.20
12:21
Вот чем отличается класс с шарингом от класса без шаринга? В какой книжке по ООП это объясняется?
22 ДенисЧ
 
24.02.20
12:41
(21) Ты только что выдамал эти термины и уже ищешь книжку про них?
23 jbond
 
24.02.20
12:46
(22) нет, это апексовские термины.

Класс с шарингингом видит данные только того юзера, который  его инстанцировал
24 Asmody
 
24.02.20
13:08
Павлуша прочитал введение к очередной толстой книжке
25 jbond
 
24.02.20
13:26
3455 страниц, очень тонкая книжка, за ночь можно прочитать с фонариком под одеялом
26 Asmody
 
24.02.20
13:27
(25) Мне недосуг под одеялом книжки читать – у меня жена есть.
28 Garykom
 
гуру
24.02.20
18:54
(26) Одеяло и фонарик не отдает - сама читает?
30 isa2net
 
24.02.20
21:34
спасибо всем за дельные советы. смалталк , конечно, трушно, но боюсь реальную задачу под него мне долго придется подбирать, поэтому и смотрю туда, где больше информационный поток. По джаваскрипт,питону и иже с ними куча актуальной литературы, туториалов и т.д., легче разобраться будет, я думаю.
31 Midrash
 
24.02.20
22:19
(0) Только SmallTalk  и ничего иного
32 MadHead
 
25.02.20
00:00
(30) Java или С# хорошие варианты для освоение ООП. Большой плюс, что в будущем может пригодиться знание базового синтаксиса.
Из патернов стоит смотреть на самые простые. Ко мне настоящее понимание патернов стало приходить после попыток заложить архитектуру "по ощущенияи" и уже после перечитывания патерном и проведениями паралелей с реальными задачами которые возникали.
33 Midrash
 
25.02.20
00:01
(32) нет, это расширения классического  SmallTalk
34 Midrash
 
25.02.20
00:03
Smalltalk по-прежнему очень актуален. Это отличный язык для обучения программированию людей, не имеющих технического образования. Это превосходный язык прототипирования для стартапов. Это мощный промышленный язык, используемый как крупными, так и малыми компаниями по всему миру. Есть веские причины рассмотреть использование современного Smalltalk сегодня, поскольку многое было сделано за последнее время, чтобы улучшить его возможности.
35 Midrash
 
25.02.20
00:05
(30) Устранение когнитивного стресса является целью многих языков – например, Python, Ruby, Elixir, Elm и Go. Даже если вы его не чувствуете, стресс есть. Часто говорят, что программирование в Smalltalk или Python похоже на Дзен; ваше сознание просто течёт легко и непринуждённо вместе с решаемой задачей. Это красота и ценность языковой простоты, и Smalltalk обладает ею в полной мере.

Smalltalk концепция ООП очищена до базовых понятий классов и методов, метаклассов и рефлексии, и, самое главное, передачи сообщений. Smalltalk, в силу своей объектной чистоты и согласованности, даст вам глубокое понимание объектно-ориентированного программирования и того, как использовать его с максимальной эффективностью.

Простота Smalltalk также делает его идеальным учебным языком для обучения программированию, особенно если у вас нет технической подготовки. Простота языка и инструментов позволяет сосредоточить ваши усилия на изучении методов программирования, а не языковых конструкций и формализма.
36 MadHead
 
25.02.20
00:12
(33) Что именно нет?
(34) Рынок "считает" по другому, вероятность найти работу на Smalltalk существенно ниже чем на Java, C# или С++. Но важное наблюдение, что современные языки программирования все больше сходятся к некому гибридному подходу в котором урезается классическое ООП.
37 Midrash
 
25.02.20
00:15
(36) Товарищ. при  чем тут вероятность??? Речь об обучении основам. Вы чтение букв хотите тоже конвертировать в звонкую монету???
38 MadHead
 
25.02.20
00:34
(37) Это мой згляд на обучение. В большинстве случаев люди учатся чему-то, что бы улушить свои инструменты для добычи ресурсов. К примеру, изучая ООП по средствам Джавы можно и эффективно разобраться в ООП и повысить вероятность столкнуться на практики с более сложными продуктами.

Но сейчас многие популярные языки не поддерживают ООП в полной мере, к примеру Go, JS, Python
39 Midrash
 
25.02.20
00:39
(38) но топиккстартер спрашивал именно о ООП, а не Go, JS, Python
40 jbond
 
25.02.20
01:05
А вообще в (0) тупой наброс.

Я бы рекомендовал все таки Whitespace как тру язык для изучения ООП, не привязанный к влияним рынка.
41 MadHead
 
25.02.20
13:32
(39) Я топикастеру и ответил именно про ООП
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.