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

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

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

Author24 — интернет-сервис помощи студентам
Не могу определиться с выбором языка для изучения новичку. что подскажете?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.09.2015, 10:38
Ответы с готовыми решениями:

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

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

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

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

203
553 / 361 / 206
Регистрация: 27.11.2014
Сообщений: 1,049
16.09.2015, 17:47 21
Author24 — интернет-сервис помощи студентам
Renji, там какой-то юз стрикст был
1
Эксперт С++
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
16.09.2015, 19:19 22
Цитата Сообщение от Avazart Посмотреть сообщение
Хаос когда в секции var скапливается объявления переменных логически не связанных друг с другом, а в блоке кода скапливаются "использование" этих переменных.
в этом и заключается киллер-фича паскаля.
что бы такого безобразия не возникало,
внезапно паскаль дисциплинирует грамотно бить код на логические части.

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

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

код становится легко читать, и легко сопровождать.
1
Модератор
Эксперт CЭксперт С++
5284 / 2371 / 342
Регистрация: 20.02.2013
Сообщений: 5,770
Записей в блоге: 20
16.09.2015, 19:22 23
Цитата Сообщение от qwercvb Посмотреть сообщение
Не могу определиться с выбором языка для изучения новичку. что подскажете?
Зависит от Ваших целей, интересов, возможностей (тут могут оказать влияние различные факторы: количество свободного времени, наличие у Вас нужных качеств, например, усидчивости, внимания, хорошей памяти, развитого логического мышления и т.п.).
Зачем Вам программирование? Ответьте себе на этот вопрос и Вы получите ответ на вопрос "какой язык лучше учить".
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
16.09.2015, 19:49 24
Цитата Сообщение от hoggy Посмотреть сообщение
что бы такого безобразия не возникало,
внезапно паскаль дисциплинирует грамотно бить код на логические части.
тогда С++ идеальный просто язык, ибо несчеть сколько там внезапностей может быть ...

Добавлено через 4 минуты
Цитата Сообщение от hoggy Посмотреть сообщение
вы очень быстро обнаружите,
что если не лепить все в одну монилитную кашу,
то жить сразу же становиццо проще,
а код получается несравненно лучше.
Стараться не лепить в кучу наверное касается любого языка...
Кроме паскаля.
Цитата Сообщение от hoggy Посмотреть сообщение
начинают умещаться в рамках высоты монитора.
Ок сколько циклов уместится на высоте монитора? Сколько при этом счетчиков будет висеть только в секции var?
Удобно писать такой код кода нужно буквально сразу объявить все что потребуется в функции?
А если этого не сделать то придется потом листать вверх и дописывать, что ой как не в кайф.
На стадии разработки функции могут быть любой длины ибо порой сразу не скажешь как лучше логически разбить на "под функции".
0
Эксперт С++
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
16.09.2015, 20:36 25
Цитата Сообщение от Avazart Посмотреть сообщение
С++ идеальный просто язык, ибо несчеть сколько там внезапностей может быть ...
ну это факт.
раздолбайнее плюсов, пожалуй только сишечка.
кстати, Страуструп в своей книге "дизайн и эволюция" пишет,
что сознательно заложил в язык "основу демократических свобод"
и полагает, что именно благодаря этому фактору,
с++ поимел успех и признание.
но мы то знаем...

Цитата Сообщение от Avazart Посмотреть сообщение
Стараться не лепить в кучу наверное касается любого языка...
Кроме паскаля.
почему вы исходите из диаметрально противоположной точки зрения,
невзирая на последствия такого подхода,
которые сами же и декларируете?

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

я вам пишу: вот именно от этого и отучает паскаль.
а вы продолжаете кушать кактус.

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

с++ лишь маскирует эти симптомы.
паскаль - лечит причины.

паскаль приучает вас грамотно бить код на логические блоки.
с++ позволяет с легкостью втиснуть всю программу в одну функцию main на 10000 строк.

вот только код один раз пишится,
а потом много-много раз читается, и поддерживается.

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

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

Цитата Сообщение от Avazart Посмотреть сообщение
Ок сколько циклов уместится на высоте монитора?
для меня это странный вопрос.
потому что в моей ситуации не возникает случаев,
когда их в принципе бывает множество.

для меня три цикла в рамках одной функции (считай что в рамках одной задачи) - это предел.

Цитата Сообщение от Avazart Посмотреть сообщение
Сколько при этом счетчиков будет висеть только в секции var?
строго говоря - столько, сколько понадобится.
но никогда - слишком много.
то есть, как только секция объявлений начинает разбухать - это значит,
что пришло время подумать о логической целесообразности (бить код на части).

Цитата Сообщение от Avazart Посмотреть сообщение
Удобно писать такой код кода нужно буквально сразу объявить все что потребуется в функции?
да. очень удобно.
по возможности я применяю эту практику и на плюсах так же.

функция не содержит ни грамма лишнего.
она проста и лаконична.

вначале проверка предусловий.
затем стафф (объявление служебных переменных)
затем боди (рабочее туловище)
затем проверка постусловия.

на все провсе - порядка 5-10 строчек кода.

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

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

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

есть такая фраза:
"код написать не трудно. трудно понять, какую задачу нужно решить"
(ц)Из какой то вумной книжки.


и кстати, я поимел сильное впечатления от языка python.
поэтому, в моём коде на с++ количество использования фигурных скобочек сведено к минимуму.
соотвественно, вы не увидете пухлых многочисленных вложенных if`ов, или циклов.
0
1642 / 1091 / 487
Регистрация: 17.07.2012
Сообщений: 5,345
16.09.2015, 20:42 26
Цитата Сообщение от Справлюсь Посмотреть сообщение
2. после них трудно учить другие более развитые языки.
Я начинал с Паскаля, сейчас С++ изучаю и нормально...
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
16.09.2015, 22:03 27
Цитата Сообщение от hoggy Посмотреть сообщение
вы жалуетесь, что у вас секция объявления имен разбухает,
и не удобно постоянно сколлить листинг программы.
Я не жалуюсь, я констатирую факт того что логически связанные вещи разбросаны по коду, а то что не связано (вне рамок тупого разделения объявление/использование) наоборот нагромождено.

Добавлено через 1 минуту
Цитата Сообщение от hoggy Посмотреть сообщение
да. очень удобно.
по возможности я применяю эту практику и на плюсах так же.
Да нифига не удобно... когда лишний раз скролить было удобно... вы отключите мышку и попробуйте писать только клавиатурой, может это убедит вас.
И в плюсах так не делают, это плохая практика. Есть практика локализации, и как следствие по возможности объединение определения и использование что само собой является логичным, не зависимо от того какой длины будет ф-ция.
Это конечно не отменяет разделения на подфункции/модули итп... более того скорее сопутствует этому: ибо как писалось кусками там может прям и вырезаться раскидываться по подфункциям.

Добавлено через 1 минуту
Цитата Сообщение от hoggy Посмотреть сообщение
функция не содержит ни грамма лишнего.
она проста и лаконична.
Временные объекты, счетчики? На вряд ли начиная писать ф-цию можно сказать сразу сколько их будет и какие.

Добавлено через 3 минуты
Цитата Сообщение от hoggy Посмотреть сообщение
лично я не принимаюсь за реализацию функции до тех пор,
пока у меня в голове не возникнет четкое понимание того,
что я делаю.
А речь не о одной ф-ции, а о N-ном количестве ф-ции на которые можно разбить данную... и вообще задачу...
0
Эксперт С++
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
16.09.2015, 22:05 28
Цитата Сообщение от Avazart Посмотреть сообщение
Я не жалуюсь, я констатирую факт того что логически связанные вещи разбросаны по коду, а то что не связано ( вне рамок тупого разделения объявление использование) наоборот нагромождено.
если логически не связанные вещи разбросаны по функции - это говнокод независимо от языка.

какой именно факт вы констатируете?
свой личный опыт?

Цитата Сообщение от Avazart Посмотреть сообщение
когда лишний раз скролить было удобно...
вы какой то сложный.

я пытаюсь донести до вас - скроллить ничего не нужно и грамотном коде.
вы мне в ответ - "мне не удобно скроллить".

пишите грамотно, и не будет у вас такой проблемы.
либо меняйте язык на такой, который позволяет раздолбайство.
например - с++.

Цитата Сообщение от Avazart Посмотреть сообщение
И в плюсах так не делают, это плохая практика.
есть особая метрика качества кода:
если после выполнения задачи, ради которой была созданна переменная,
она продолжает жить - это плохой признак.

говнокод почти всегда отвечает данной метрике.

я вам ещё раз повторяю:
хороший код, внезапно, не противоречит паскалевой системе.

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

Цитата Сообщение от Avazart Посмотреть сообщение
А речь не о одной ф-ции, а о N-ном количестве ф-ции на которые можно разбить данную... и вообще задачу...
ну и что ?
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
16.09.2015, 22:06 29
Цитата Сообщение от hoggy Посмотреть сообщение
с++ лишь маскирует эти симптомы.
паскаль - лечит причины.
Каким образом лечит? Кто-то мешает в паскале нагромождать все в var ? нет? так что это маскировка или лечение?
0
Эксперт С++
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
16.09.2015, 22:13 30
Цитата Сообщение от Avazart Посмотреть сообщение
Каким образом лечит?
все очень просто.
программисты сразу начинают ныть "не удобно скроллить", "разбухает", бла бла бла.

прям как вы.

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

я пытаюсь объяснить вам одно и тоже разными словами.
неужели до вас до сих пор не дошло ещё?

не хотите проблем - пишите код по нормальному.
будете писать говнокод - будут у вас проблемы,
из-за которых вы жалуетесь.
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
16.09.2015, 22:24 31
Цитата Сообщение от hoggy Посмотреть сообщение
есть особая метрика качества кода:
если после выполнения задачи, ради которой была созданна переменная,
она продолжает жить - это плохой признак.
говнокод почти всегда отвечает данной метрике.
я вам ещё раз повторяю:
хороший код, внезапно, не противоречит паскалевой системе.
Мм, вы кода на паскале не видели? Нужен цикл внутри ф-ции, вопрос сколько будет жить счетчик для этого цикла? Больше чем надо или меньше?

Добавлено через 58 секунд
Цитата Сообщение от hoggy Посмотреть сообщение
все очень просто.
программисты сразу начинают ныть "не удобно скроллить", "разбухает", бла бла бла.
прям как вы.
С таким успехом можно аргументировать что угодно...

Добавлено через 4 минуты
Цитата Сообщение от hoggy Посмотреть сообщение
временные объекты по определению создаются и используются по месту объявления.
давайте не будем передергивать?
Мм а в паскале? Т.е я конечно не про создание имел ввиду и не про "реально" временные объекты, но думаю понятно что имел ввиду: что в паскале с начало нужно определить все что будет использоваться и только потом использовать, а не шаг за шагом объявлять-использовать что куда проще для мышления ибо последовательно и логично.

Добавлено через 5 минут

Не по теме:

hoggy, И вообще такое впечатление что вы в глаза код на паскале не видели и не знаете что "счетчики" объявляются вне цикла в той же var секции

0
Эксперт С++
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
16.09.2015, 22:26 32
Цитата Сообщение от Avazart Посмотреть сообщение
Мм, вы кода на паскале не видели?
меня исключили с первого семестра,
и автоматом поставили все зачеты,
за то, что я на первом же занятии порешал все задачи во всех вариантах для всего факультета.

преподаватель, когда зачетку возвращал сказал:
"ты то знаешь, а вот они, благодаря твоей медвежъей услуге,
даже и пытаться чего то выучить не будут."(ц)
Цитата Сообщение от Avazart Посмотреть сообщение
Нужен цикл внутри ф-ции, вопрос сколько будет жить счетчик для этого цикла?
он должен прожить минимум.
цикл завершился,
функция вернула результат.
все.

не должно быть никаких дальнейших действий в этой функции.

компилятор вижал студии 6 не умел объявлять счетчик в декларации цикла:
C++
1
2
3
4
5
6
7
8
size_t find(const size_t pos, const char ch, data d)
{
    size_t i = 0;
    for(; i!= pos; ++i)
        if (d[i] == ch)
            return i;
    return npos;
}
Цитата Сообщение от Avazart Посмотреть сообщение
С таким успехом можно аргументировать что угодно...
не все что угодно.
только признаки говнокода.
0
2443 / 1841 / 406
Регистрация: 15.12.2013
Сообщений: 8,238
16.09.2015, 22:27 33
Цитата Сообщение от Renji Посмотреть сообщение
Сверх того, эти переменные еще и по умолчанию статическими становятся.
Все не так плохо. Есть оператор my. Про прагму strict уже сказали.
0
1642 / 1091 / 487
Регистрация: 17.07.2012
Сообщений: 5,345
16.09.2015, 22:28 34
Типичный холивар против паскаля и типичные аргументы(переменные нельзя объявлять где хочешь, begin end против {}, цикл for не такой удобный и.т.п). И никого не смущает что С++ это язык в котором сплошные UB. Наверно на каждой странице стандарта есть слова "undefined behaviour".
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
16.09.2015, 22:29 35
Цитата Сообщение от hoggy Посмотреть сообщение
компилятор вижал студии 6 не умел объявлять счетчик в декларации цикла:
И что я должен на это ответить?

Не по теме:

Даже при таком подходе дела лучше чем в паскале.

0
Эксперт С++
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
16.09.2015, 22:29 36
Цитата Сообщение от Avazart Посмотреть сообщение
в паскале с начало нужно определить все что будет использоваться и только потом использовать
это и есть его киллер фича.
с чего я и начал этот диалог.
Цитата Сообщение от Avazart Посмотреть сообщение
И вообще такое впечатление что вы в глаза код на паскале не видели и не знаете что "счетчики" объявляются вне цикла в той же var секции
хз откуда у вас такое впечатление.
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
16.09.2015, 22:30 37
Цитата Сообщение от Новичок Посмотреть сообщение
Типичный холивар против паскаля и типичные аргументы(переменные нельзя объявлять где хочешь, begin end против {}, цикл for не такой удобный и.т.п). И никого не смущает что С++ это язык в котором сплошные UB. Наверно на каждой странице стандарта есть слова "undefined behaviour".
А что у вас там в паскале как-то по другому называется UB ?
0
805 / 532 / 158
Регистрация: 27.01.2015
Сообщений: 3,017
Записей в блоге: 1
16.09.2015, 22:33 38
Кароче, сливайте тему в раздел халиваров.
0
S_el
16.09.2015, 22:35
  #39

Не по теме:

Цитата Сообщение от Ferrari F1 Посмотреть сообщение
Кароче, сливайте тему в раздел халиваров.
Она и так там :D

0
Эксперт С++
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
16.09.2015, 22:35 40
Цитата Сообщение от Avazart Посмотреть сообщение
И что я должен на это ответить?
объявлять счетчик в декларации цикла - удобно.
но как я уже писал выше - не нужно передергивать.

недоступность локальных имен цикла не повод полагать,
что после цикла можно начинать "новую жизнь" в рамках той же функции.
Цитата Сообщение от Новичок Посмотреть сообщение
И никого не смущает что С++ это язык в котором сплошные UB.
адепты с++ понимают ради чего это.
и какую цену приходится не платить
0
16.09.2015, 22:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.09.2015, 22:35
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru