0 / 0 / 0
Регистрация: 16.09.2015
Сообщений: 1
|
|
1 | |
Какой язык проще?16.09.2015, 10:38. Показов 7472. Ответов 203
Метки нет (Все метки)
0
|
16.09.2015, 10:38 | |
Ответы с готовыми решениями:
203
Какой язык посоветуете? Какой язык изучить? Какой язык стоит выучить? Какой язык программирования лучше? (3) |
553 / 361 / 206
Регистрация: 27.11.2014
Сообщений: 1,049
|
|
16.09.2015, 17:47 | 21 |
1
|
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
16.09.2015, 19:19 | 22 |
в этом и заключается киллер-фича паскаля.
что бы такого безобразия не возникало, внезапно паскаль дисциплинирует грамотно бить код на логические части. вы очень быстро обнаружите, что если не лепить все в одну монилитную кашу, то жить сразу же становиццо проще, а код получается несравненно лучше. например, ваши функции мнезапно начинают умещаться в рамках высоты монитора. и делают они ровно одну маленькую задачу. код становится легко читать, и легко сопровождать.
1
|
Модератор
|
|
16.09.2015, 19:22 | 23 |
Зависит от Ваших целей, интересов, возможностей (тут могут оказать влияние различные факторы: количество свободного времени, наличие у Вас нужных качеств, например, усидчивости, внимания, хорошей памяти, развитого логического мышления и т.п.).
Зачем Вам программирование? Ответьте себе на этот вопрос и Вы получите ответ на вопрос "какой язык лучше учить".
0
|
16.09.2015, 19:49 | 24 |
тогда С++ идеальный просто язык, ибо несчеть сколько там внезапностей может быть ...
Добавлено через 4 минуты Стараться не лепить в кучу наверное касается любого языка... Кроме паскаля. Ок сколько циклов уместится на высоте монитора? Сколько при этом счетчиков будет висеть только в секции var? Удобно писать такой код кода нужно буквально сразу объявить все что потребуется в функции? А если этого не сделать то придется потом листать вверх и дописывать, что ой как не в кайф. На стадии разработки функции могут быть любой длины ибо порой сразу не скажешь как лучше логически разбить на "под функции".
0
|
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
16.09.2015, 20:36 | 25 |
ну это факт.
раздолбайнее плюсов, пожалуй только сишечка. кстати, Страуструп в своей книге "дизайн и эволюция" пишет, что сознательно заложил в язык "основу демократических свобод" и полагает, что именно благодаря этому фактору, с++ поимел успех и признание. но мы то знаем... почему вы исходите из диаметрально противоположной точки зрения, невзирая на последствия такого подхода, которые сами же и декларируете? вы жалуетесь, что у вас секция объявления имен разбухает, и не удобно постоянно сколлить листинг программы. я вам пишу: вот именно от этого и отучает паскаль. а вы продолжаете кушать кактус. разбухание секции объявления переменных, и необходимость скроллить текст - это симптомы, что функция выполняет не одну, а множество задач (анти-паттер "божество"). с++ лишь маскирует эти симптомы. паскаль - лечит причины. паскаль приучает вас грамотно бить код на логические блоки. с++ позволяет с легкостью втиснуть всю программу в одну функцию main на 10000 строк. вот только код один раз пишится, а потом много-много раз читается, и поддерживается. поддерживать функции-монстров намного хуже, чем хорошие функции. программируя на паскале сколько нибудь долго, вы однозначно придете к пониманию важности грамотно бить код на функции. именно что бы не разбухала секция кода, и не приходилость постоянно скороллить листинг программы. для меня это странный вопрос. потому что в моей ситуации не возникает случаев, когда их в принципе бывает множество. для меня три цикла в рамках одной функции (считай что в рамках одной задачи) - это предел. строго говоря - столько, сколько понадобится. но никогда - слишком много. то есть, как только секция объявлений начинает разбухать - это значит, что пришло время подумать о логической целесообразности (бить код на части). да. очень удобно. по возможности я применяю эту практику и на плюсах так же. функция не содержит ни грамма лишнего. она проста и лаконична. вначале проверка предусловий. затем стафф (объявление служебных переменных) затем боди (рабочее туловище) затем проверка постусловия. на все провсе - порядка 5-10 строчек кода. я прекрасно понимаю, что означает для с++ правило "близкого объявления". но смысл в том, что при грамотном делении кода на логические блоки, паскалевский подход приплюснотому не противоречит. с этим я не соглашусь. я полагаю, в этом есть какой то корень вашей проблемы. лично я не принимаюсь за реализацию функции до тех пор, пока у меня в голове не возникнет четкое понимание того, что я делаю. есть такая фраза: "код написать не трудно. трудно понять, какую задачу нужно решить" (ц)Из какой то вумной книжки. и кстати, я поимел сильное впечатления от языка python. поэтому, в моём коде на с++ количество использования фигурных скобочек сведено к минимуму. соотвественно, вы не увидете пухлых многочисленных вложенных if`ов, или циклов.
0
|
16.09.2015, 22:03 | 27 |
Я не жалуюсь, я констатирую факт того что логически связанные вещи разбросаны по коду, а то что не связано (вне рамок тупого разделения объявление/использование) наоборот нагромождено.
Добавлено через 1 минуту Да нифига не удобно... когда лишний раз скролить было удобно... вы отключите мышку и попробуйте писать только клавиатурой, может это убедит вас. И в плюсах так не делают, это плохая практика. Есть практика локализации, и как следствие по возможности объединение определения и использование что само собой является логичным, не зависимо от того какой длины будет ф-ция. Это конечно не отменяет разделения на подфункции/модули итп... более того скорее сопутствует этому: ибо как писалось кусками там может прям и вырезаться раскидываться по подфункциям. Добавлено через 1 минуту Временные объекты, счетчики? На вряд ли начиная писать ф-цию можно сказать сразу сколько их будет и какие. Добавлено через 3 минуты А речь не о одной ф-ции, а о N-ном количестве ф-ции на которые можно разбить данную... и вообще задачу...
0
|
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
16.09.2015, 22:05 | 28 |
если логически не связанные вещи разбросаны по функции - это говнокод независимо от языка.
какой именно факт вы констатируете? свой личный опыт? вы какой то сложный. я пытаюсь донести до вас - скроллить ничего не нужно и грамотном коде. вы мне в ответ - "мне не удобно скроллить". пишите грамотно, и не будет у вас такой проблемы. либо меняйте язык на такой, который позволяет раздолбайство. например - с++. есть особая метрика качества кода: если после выполнения задачи, ради которой была созданна переменная, она продолжает жить - это плохой признак. говнокод почти всегда отвечает данной метрике. я вам ещё раз повторяю: хороший код, внезапно, не противоречит паскалевой системе. Добавлено через 1 минуту временные объекты по определению создаются и используются по месту объявления. давайте не будем передергивать? ну и что ?
0
|
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
16.09.2015, 22:13 | 30 |
все очень просто.
программисты сразу начинают ныть "не удобно скроллить", "разбухает", бла бла бла. прям как вы. и есть только один способ избежать этой проблемы: писать код грамотно. уметь правильно разбить его на логические блоки. я пытаюсь объяснить вам одно и тоже разными словами. неужели до вас до сих пор не дошло ещё? не хотите проблем - пишите код по нормальному. будете писать говнокод - будут у вас проблемы, из-за которых вы жалуетесь.
0
|
16.09.2015, 22:24 | 31 |
Мм, вы кода на паскале не видели? Нужен цикл внутри ф-ции, вопрос сколько будет жить счетчик для этого цикла? Больше чем надо или меньше?
Добавлено через 58 секунд С таким успехом можно аргументировать что угодно... Добавлено через 4 минуты Мм а в паскале? Т.е я конечно не про создание имел ввиду и не про "реально" временные объекты, но думаю понятно что имел ввиду: что в паскале с начало нужно определить все что будет использоваться и только потом использовать, а не шаг за шагом объявлять-использовать что куда проще для мышления ибо последовательно и логично. Добавлено через 5 минут Не по теме: hoggy, И вообще такое впечатление что вы в глаза код на паскале не видели и не знаете что "счетчики" объявляются вне цикла в той же var секции
0
|
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||||
16.09.2015, 22:26 | 32 | |||||
меня исключили с первого семестра,
и автоматом поставили все зачеты, за то, что я на первом же занятии порешал все задачи во всех вариантах для всего факультета. преподаватель, когда зачетку возвращал сказал: "ты то знаешь, а вот они, благодаря твоей медвежъей услуге, даже и пытаться чего то выучить не будут."(ц) он должен прожить минимум. цикл завершился, функция вернула результат. все. не должно быть никаких дальнейших действий в этой функции. компилятор вижал студии 6 не умел объявлять счетчик в декларации цикла:
только признаки говнокода.
0
|
2443 / 1841 / 406
Регистрация: 15.12.2013
Сообщений: 8,238
|
|
16.09.2015, 22:27 | 33 |
0
|
1642 / 1091 / 487
Регистрация: 17.07.2012
Сообщений: 5,345
|
|
16.09.2015, 22:28 | 34 |
Типичный холивар против паскаля и типичные аргументы(переменные нельзя объявлять где хочешь, begin end против {}, цикл for не такой удобный и.т.п). И никого не смущает что С++ это язык в котором сплошные UB. Наверно на каждой странице стандарта есть слова "undefined behaviour".
0
|
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
16.09.2015, 22:29 | 36 |
это и есть его киллер фича.
с чего я и начал этот диалог. хз откуда у вас такое впечатление.
0
|
S_el
|
16.09.2015, 22:35
#39
|
0
|
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
16.09.2015, 22:35 | 40 |
объявлять счетчик в декларации цикла - удобно.
но как я уже писал выше - не нужно передергивать. недоступность локальных имен цикла не повод полагать, что после цикла можно начинать "новую жизнь" в рамках той же функции. адепты с++ понимают ради чего это. и какую цену приходится не платить
0
|
16.09.2015, 22:35 | |
16.09.2015, 22:35 | |
Помогаю со студенческими работами здесь
40
какой язык программирования изучать? Какой язык программирования я придумал Какой язык лучше / прибыльнее? Какой язык программирования выбрать? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |