Форум программистов, компьютерный форум, киберфорум
Священные войны
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.66/41: Рейтинг темы: голосов - 41, средняя оценка - 4.66
0 / 0 / 0
Регистрация: 16.09.2015
Сообщений: 1

Какой язык проще?

16.09.2015, 10:38. Показов 10692. Ответов 203
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не могу определиться с выбором языка для изучения новичку. что подскажете?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.09.2015, 10:38
Ответы с готовыми решениями:

Какой язык посоветуете?
Недавно я изучил C#, мне этот язык очень понравился, и я бы хотел спросить совета, какой язык вы мне предложите изучать следующим, но уже...

Какой язык изучить?
Вот решил изучить язык С но не знаю выбрать С или С++ (или разницы нету)

Какой язык стоит выучить?
Знание из языков - Pascal. В универе будем учить делфи в следующем году Хочу летом подучить еще один язык. сомневаюсь: начать делфи или...

203
306 / 101 / 18
Регистрация: 04.07.2014
Сообщений: 571
20.09.2015, 19:54
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от _Ivana Посмотреть сообщение
любые свободные в данном терме?
А вот что там в у Пирса, я не помню уже. И что-то совсем не понял про "неймспейсы" (?). Но я хотел сказать именно это.

Цитата Сообщение от Avazart Посмотреть сообщение
От одного слова interface ничего не меняется.
Меняется, конечно. Дисциплинирует. Читать код удобнее. Сразу видно: где имена типов, а где имена реализаций.

Цитата Сообщение от Avazart Посмотреть сообщение
Я не понимаю о чем вы. Вероятно о каких-то редких случаях.
Да практически везде! Вот и Вам кажется, что методы -- это обычные функции, просто у них есть глобальные переменные, связанные с определёнными данными каким-то внешним контекстом, который называют объектом. Итог один: любимый структурно-процедурный код засорённый мусором лишних ключевых слов и ужасными классами вроде UserDAOSecurityPoliciyFacade.
0
Заблокирован
20.09.2015, 19:57
По теме: согласен с KolodeznyDive:
Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
Функциональные языки нынче надо учить! И самый легко усвояемый F#.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
20.09.2015, 20:03
Цитата Сообщение от mporro Посмотреть сообщение
Читать код удобнее.
Ну да мне индусу лишь бы побольше кода...

Добавлено через 3 минуты
Цитата Сообщение от mporro Посмотреть сообщение
Да практически везде! Вот и Вам кажется, что методы -- это обычные функции, просто у них есть глобальные переменные, связанные с определёнными данными каким-то внешним контекстом, который называют объектом. Итог один: любимый структурно-процедурный код засорённый мусором лишних ключевых слов и ужасными классами вроде UserDAOSecurityPoliciyFacade.
Да ладно разве фасад не ООП приём?
А длинные имена это дело такое.... но как оно касается данного вопроса мне не понятно...
Или имена С# и неймспейс на неймспейсе не смущает ...
Да и вероятно я снова не понял о чем вы.
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
20.09.2015, 20:23
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
я действительно считаю иначе.
у меня больше нет вопросов.
0
306 / 101 / 18
Регистрация: 04.07.2014
Сообщений: 571
21.09.2015, 08:50
Цитата Сообщение от Avazart Посмотреть сообщение
разве фасад не ООП приём
Дело не в том, какой это приём, а в том, что класс, подобный UserDAOSecurityPolicyFacade не представляет никакой абстракции. Это "технический шум". Это класс ни о чём. И чаще всего такие классы появляются именно там, где люди вообще "ни в зуб ногой" в объектном программировании, зато знают много страшных слов.

Цитата Сообщение от Avazart Посмотреть сообщение
Да и вероятно я снова не понял о чем вы.
Вот супер-пупер жизненный пример!

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

Вас не пугает это задание? Анализа нет, ничего о предметной области в задании не сказано...
На всё задание пара осмысленных фраз:
Провести сортировку конфет в
подарке на основе одного из параметров. Найти конфету в подарке, соответствующую заданному
диапазону содержания сахара.
Итог: в задаче ничего объектного нет, есть необходимость нашарашить выборку по каким-то данным. За написание задания автору пересдача!

Что же делают господа программисты? Может быть они хотят ввести в задачу какие-то абстракции, чтобы сделать функциональность, описанную в задаче, частью этих абстракций?
Нет! Даже не пытаются!

Просто в лоб: "А Бог с ними, с объектами, давайте просто это будут записи, а мы будем шарашить запросы!"
Новогодний подарок - это список элементов класса "сладости". Дальше используем LINQ: " Провести сортировку конфет в подарке на основе одного из параметров." используем OrderBy(); "Найти конфету в подарке, соответствующую заданному диапазону содержания сахара." используем Where().

И это прямо на ваших глазах происходит чуть ли не в соседней теме. А Вы говорите: редкие случаи. Да они 90%, эти "редкие случаи".


* * *
P.S. И ведь именно это будет зачётом! Если кто-то что-то действительно сообразить -- это, скорее всего, отправят отдыхать. Людей заведомо учат чему угодно, только не ООП.
0
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
21.09.2015, 09:31
Цитата Сообщение от mporro Посмотреть сообщение
Что же делают господа программисты? Может быть они хотят ввести в задачу какие-то абстракции, чтобы сделать функциональность, описанную в задаче, частью этих абстракций?
Нет! Даже не пытаются!
и как же надо решить это задачу по оопшному?

Добавлено через 4 минуты
Людей заведомо учат чему угодно, только не ООП
и правильно делают. людей надо учить думать, а не копипастить шаблоны с банды 4-х.
0
306 / 101 / 18
Регистрация: 04.07.2014
Сообщений: 571
21.09.2015, 10:03
Цитата Сообщение от pycture Посмотреть сообщение
как же надо решить это задачу по оопшному
А никак! Анализа нет, предметной области нет, есть только указание на функционал... В лучше случае можно этот функционал и выделить.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public interface CandyBox {
    public Weight calculateWeight();
}
 
public abstract class FilteredCandyBox implements CandyBox {
    public abstract Weight calculateWeight();
 
    pubic FilteredCandyBox(FilteringStrategy strategy)
    {
        this.strategy = strategy;
    }
 
    private FilteringStrategy strategy;
}
Всё. Хотите больше? Давайте анализ конфеты.


Цитата Сообщение от pycture Посмотреть сообщение
и правильно делают.
Нет, не правильно! В корне неправильно! Людей учат пихать шаблоны и строить какие-то иерархии помидовор в отрыве от анализа.
А нужно:
Цитата Сообщение от pycture Посмотреть сообщение
учить думать, а не копипастить шаблоны с банды 4-х
0
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
21.09.2015, 11:28
Цитата Сообщение от mporro Посмотреть сообщение
А никак!
так какие претензии к другому варианту решения на записях?
Анализа нет, предметной области нет, есть только указание на функционал.
и что? стандарная ситуация. есть задача - ее надо решить. или всё надо разжевать? так это не программирование, а кодирование зовется тогда. а так хочешь анализируй, не хочешь - кодируй сразу. все зависит от сложности задачи. а для подобных лаб никакой анализ не нужен.
В лучше случае можно этот функционал и выделить.
и в чем отличие от предложеного в соседней теме linq'а? в лишних сущностях типа "стратегии фильтрации"?
А нужно: учить думать
а как "учить думать" связано с "учить ооп"? никак. так что всё правильно делают.
0
306 / 101 / 18
Регистрация: 04.07.2014
Сообщений: 571
21.09.2015, 12:05
Цитата Сообщение от pycture Посмотреть сообщение
какие претензии к другому варианту решения на записях
Потому что студенты запомнят это и будут думать, что это и есть объектное решение, что не есть верно.

Цитата Сообщение от pycture Посмотреть сообщение
для подобных лаб никакой анализ не нужен
Не бывает решения без анализа. Точка.
А анализ на лабах не нужен, потому что его должен провести преподаватель.

Цитата Сообщение от pycture Посмотреть сообщение
хочешь анализируй, не хочешь - кодируй сразу
Только в Индии.

Цитата Сообщение от pycture Посмотреть сообщение
и в чем отличие от предложеного в соседней теме
В том, что работа с запросами и записями -- это работа с данными и алгоритмами над ними. Это не замкнутый язык.
Абстракция CandyBox и уточнении FilteredCandyBox или OrderedCandyBox -- это представление функционала, позволяющее построить замкнутый язык CandyBox.

Цитата Сообщение от pycture Посмотреть сообщение
как "учить думать" связано с "учить ооп"
Чтобы учить ООП нужно, в первую очередь, учить людей думать в терминах абстракций и правил над абстракциями. Именно учить думать! А не представлять код по-новому, с новыми ключевыми словами.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
21.09.2015, 12:06
mporro, А что не понятно, можно как минимум выделить абстракный класс/ интерфейс, и использовать динамический полиморфизм при поиске по контейнеру разных сущностей.

Я уже неговою что подобные недозадания от недопреподов вообще темы никак не касаются.

Цитата Сообщение от mporro Посмотреть сообщение
Вот супер-пупер жизненный пример!
Для кого недостудента?
0
306 / 101 / 18
Регистрация: 04.07.2014
Сообщений: 571
21.09.2015, 12:13
Avazart
Эти задания приводят, в конечном итоге, к тому, что люди просто компонуют функции в классы, чтобы обращаться к неким глобальным данным. И всё!
И люди отвечают на эти задания предлагая столь же ужасные решения, сколь ужасна задача, даже не попытавшись объяснить человеку, что происходит. Я почти уверен, что происходит это от того, что эти люди сами воспринимают ООП как "компоновку функций по применимости к данным".
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
21.09.2015, 12:24
Лично я не вижу ничего ужастного в в совете.
Советовалось вывести абстракнный класс - вот ваша абстракция.

А то как осуществлять поиск просто циклом или LINQ или использовать какой-то мульти индексный контейнер это уже детали реализации.

Цитата Сообщение от mporro Посмотреть сообщение
что эти люди сами воспринимают ООП как "компоновку функций по применимости к данным".
Ну это и есть Инкапсуляция принцип ООП... не?
Другое дело что это не всё ООП.

Собственно данная задача больше на Полиморфизм.
0
306 / 101 / 18
Регистрация: 04.07.2014
Сообщений: 571
21.09.2015, 12:28
Цитата Сообщение от Avazart Посмотреть сообщение
во первых абстракция была выведена
Какая абстракция была выведана?!
Где определены те правила, которые выделяют эту абстракцию?
Я вижу: определены данные и навешаны процедуры на эти данные. Где хоть намёк на абстракции предметной области?
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
21.09.2015, 12:32
Цитата Сообщение от mporro Посмотреть сообщение
Какая абстракция была выведана?!
Абстракция - абстракнтый класс разве не очевидно?
Цитата Сообщение от mporro Посмотреть сообщение
Где определены те правила, которые выделяют эту абстракцию?
Критерии поиска и есть ваши правила.
0
306 / 101 / 18
Регистрация: 04.07.2014
Сообщений: 571
21.09.2015, 12:33
Цитата Сообщение от Avazart Посмотреть сообщение
Ну это и есть Инкапсуляция принцип ООП... не?
Инкапсуляция -- это общий принцип для выделения абстракций. Он работает везде, не только в объектном подходе.
Клиент не должен знать детали реализации, чтобы оперировать абстракцией. Абстракция не должна знать детали реализации клиента, чтобы предоставить реализацию.
Нигде ничего не говорится про какие-то данные.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
21.09.2015, 12:42
В информатике инкапсуляцией (лат. en capsula) называется упаковка данных и/или функций в единый компонент.
https://ru.wikipedia.org/wiki/... 8%D0%B5%29

Цитата Сообщение от mporro Посмотреть сообщение
Клиент не должен знать детали реализации, чтобы оперировать абстракцией. Абстракция не должна знать детали реализации клиента, чтобы предоставить реализацию.
Это сокрытие данных. Хотя они идут рука об руку с инкапсуляцией и часто одно подразумевает другое.
0
306 / 101 / 18
Регистрация: 04.07.2014
Сообщений: 571
21.09.2015, 13:00
Цитата Сообщение от Avazart Посмотреть сообщение
Абстракция - абстракнтый класс разве не очевидно?
Да нет же! Абстракция -- логическая единица. Она с кодом не связана на прямую. Абстракция может быть и в C, только в языке нет удобных методов для её выражения.

Например, последовательность -- это абстракция. У последовательности можно запросить следующий элемент. Эту абстракцию Вы может реализовать каким-то образом, например, списком! А если Вы не можете вычислить все элементы сразу? Тогда можно реализовать последовательность отображением, которое принимая список из ранее вычисленных элементов вернёт Вам следующий...
Главное: выделить абстракцию по свойствам, которые отличают этот объект от других объектов в вашей предметной области.
А просто подсунуть абстрактный овощ и унаследовать от него огурец и помидор -- это ни о чём, потому что не понятно, какими правилами в предметной области огурец от помидора отличается, значит и абстракции их не ясны.

Добавлено через 15 минут
Цитата Сообщение от Avazart Посмотреть сообщение
Это сокрытие данных.
Это всё уже поздние мистификации на тему объектного подхода.
Сокрытие данных -- это просто защита от дурака. Или Murphy's Guard. Это ничего не гарантирует, но защищает от случайной ошибки, которая непременно произойдёт.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
21.09.2015, 13:10
Абстра́кция (от лат. abstractio — отвлечение) — отвлечение в процессе познания от несущественных сторон, свойств, связей объекта (предмета или явления) с целью выделения их существенных, закономерных признаков; абстрагирование — теоретическое обобщение как результат такого отвлечения.
https://ru.wikipedia.org/wiki/... 0%B8%D1%8F
Вот и выделение абстрактного класса как набора общих признаков из перечисленных сущностей.

Цитата Сообщение от mporro Посмотреть сообщение
Например, последовательность -- это абстракция.
Абстракция не может существовать в отрыве от области из которой она выводится.

Цитата Сообщение от mporro Посмотреть сообщение
А просто подсунуть абстрактный овощ и унаследовать от него огурец и помидор -- это ни о чём, потому что не понятно, какими правилами в предметной области огурец от помидора отличается, значит и абстракции их не ясны.
Вобще-то в данном случае критерии предельно ясны и заданы условием.
Другое дело- задание учебное, так что ту вполне есть место для фантазии...
0
306 / 101 / 18
Регистрация: 04.07.2014
Сообщений: 571
21.09.2015, 13:25
Цитата Сообщение от Avazart Посмотреть сообщение
не может существовать в отрыве от области из которой она выводится.
Согласен. Нужно всегда обсуждать предметную область, для которой мы это делаем. Это и есть анализ.

Цитата Сообщение от Avazart Посмотреть сообщение
Вобще-то в данном случае критерии предельно ясны и заданы условием.
Давайте разберём задачу с конфетами.
Какие абстракции, опираясь на условие, Вы можете выделить из предметной области, описанной в задании?
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
21.09.2015, 13:54
Я же писал:
Цитата Сообщение от Avazart Посмотреть сообщение
Критерии поиска и есть ваши правила.
Читаем:
Цитата Сообщение от 011 Посмотреть сообщение
Собрать детский подарок с определением его веса. Провести сортировку конфет в
подарке на основе одного из параметров. Найти конфету в подарке, соответствующую заданному
диапазону содержания сахара.
Вес, содержание сахара, и еще один параметр(выдумать) будут общими и выделены в абстрактный/базовый класс.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.09.2015, 13:54

Какой язык программирования лучше? (3)
Продолжение темы

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

Какой язык программирования я придумал
Приветствую всех. Составил список целей. Интересует, существует ли в мире такой язык программирования, который я тут на фантазировал. ...

Какой язык лучше / прибыльнее?
И так, мне 16 лет, седня днем пойду подавать документы в техникум на программиста соответственно. И назрел вопрос какой язык...

Какой язык программирования выбрать?
Доброго времени суток ! Подскажите уважаемые форумчане - какой язык программирования выбрать для начального изучения? Да и вообще, какие...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
160
Ответ Создать тему
Новые блоги и статьи
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru