|
0 / 0 / 0
Регистрация: 15.08.2017
Сообщений: 1
|
|||||||||||
Нужен ли пробел после main?15.08.2017, 09:57. Показов 6258. Ответов 97
Метки нет (Все метки)
Нужен ли пробел?
Заранее спасибо
0
|
|||||||||||
| 15.08.2017, 09:57 | |
|
Ответы с готовыми решениями:
97
Ошибка no main class (заголовок com/javafx/main/Main) на другом компьютере Вставить после каждого символа «.» один символ « » (пробел), если после точки нет пробела. |
|
4149 / 2727 / 433
Регистрация: 09.09.2017
Сообщений: 12,084
|
|
| 05.10.2017, 19:20 | |
|
То есть практические и эстетические соображения не интересны? В таком случае вопрос, полагаю, исчерпан.
0
|
|
|
200 / 87 / 9
Регистрация: 15.11.2010
Сообщений: 472
|
|
| 05.10.2017, 20:09 | |
|
Практические и эстетические соображения интересны. Только представления о красоте и творчестве у разных людей разные. Мне, допустим, нравятся однобуквенные обозначения для переменных, потому что так принято в математике и я на этом вырос. Снижает это понятность и читаемость программы? Безусловно, да. Зато мне с такими переменными работать намного приятнее. Мне нравится преданный "анафеме" в программистском сообществе оператор goto. Почему нравится? Во-первых, чтобы ни говорили адепты структурного программирования, он несёт немалую практическую пользу и иногда удобен. Во-вторых, в существовании этого оператора я вижу глубокий философский смысл. Он основа основ в программировании. В нём одном выражена вся логическая сущность программирования, через него программа управляет сама собой. Педантики из компьютерного мира призывают меня отказаться от этого оператора. А по поводу отступов и табуляций... Не всегда их хочется делать так, как того требуют общепринятые правила хорошего тона. Иногда это просто отвлекает и мешает сосредоточиться на задаче, а подобная разметка кажется надуманной и навязчивой. И таких примеров много.
Вообще, попытка загнать всех в единые правила и рамки, как это делается в современном компьютерном мире, ущербна изначально. И это вовсе не означает, что я против хороших, качественных и умных программ.
0
|
|
|
4149 / 2727 / 433
Регистрация: 09.09.2017
Сообщений: 12,084
|
||||||
| 05.10.2017, 20:41 | ||||||
|
Сейчас даже текстовые редакторы, не говоря уж об IDE, могут расставлять отступы автоматически. В чем же вы пишете программы? Не знаю как вам, а мне доводилось читать собственный код, написанный даже год назад. Не всегда поймешь что он должен делать, не говоря уж об алгоритме. Впрочем, тут больше вина комментариев чем отступов.
1
|
||||||
|
200 / 87 / 9
Регистрация: 15.11.2010
Сообщений: 472
|
||||
| 05.10.2017, 21:30 | ||||
|
Такая лажа, наверное, более читаема и понятна домохозяйкам, только производит странное впечатление на человека, близкого к физмат наукам. Наверное, если бы учебник физики или математики писали программисты (не дай бог!), он бы весь состоял из таких вот "формул". Сумасшедший дом! Когда в программе все переменные изображены в виде слов и словосочетаний и её приходится читать, это воспринимается как какая-то гуманитарщина. Словно программирование не относится к точным техническим дисциплинам, а программистам нужна такая жеванина. И с этим порой просто неприятно работать. Так что привычку свою не вижу смысла менять.
А по поводу старых собственных программ... Через некоторое время они забываются, и чтобы с ними опять начать работать, приходится заново в них въезжать. Ничего, день - два поразбираешь своё старое "творчество", и опять начинаешь в ней плавать, как рыба в воде. Это нормально.
0
|
||||
|
4149 / 2727 / 433
Регистрация: 09.09.2017
Сообщений: 12,084
|
||||
| 05.10.2017, 22:15 | ||||
|
То есть вас всякие Aij, LAB не смущают. Ну и не надо путать единственную формулу, которая задает однозначное соответствие результата входным данным и законченный алгоритм со всеми вводами-выводами, проверками на корректность и прочим. Математические переменные обычно обозначаются в начале или конце формулы и не меняются в середине.
0
|
||||
|
200 / 87 / 9
Регистрация: 15.11.2010
Сообщений: 472
|
|||||
| 05.10.2017, 23:11 | |||||
|
Ну и конечно, когда я говорил, что мне не нравятся многобуквенные словесные обозначения для переменных в программировании, я несколько преувеличивал и перегибал. В огромной программе на 300.000 строк текста без них почти не обойтись, да и стараться от них избавиться нет смысла. Каким-то глобальным переменным, за которыми стоят какие-то глобальные объекты и абстракции, причём не обязательно всем, стоит присвоить говорящие имена. Просто я хотел сказать, что превращать идею длинных говорящих имён для переменных в культ нет никакого смысла. А потом я этим хотел подчеркнуть, что математизированная форма записи, при которой основная часть переменных обозначается в одну букву, мне ближе и приятней. Как-то оно абстрактней всё получается и воспринимается.
Microsoft всё так делает, это давно известно.
0
|
|||||
|
4149 / 2727 / 433
Регистрация: 09.09.2017
Сообщений: 12,084
|
||||
| 05.10.2017, 23:47 | ||||
|
Указатель это хороший способ оптимизации, но еще лучший - выстрелить себе в ногу. К тому же это привязывает к архитектуре конкретной машины, заставляет думать о выделении памяти, освобождении, слежением за ссылками и прочих низкоуровневых вещах. Отдельно можно было бы упомянуть не-процедурные языки, вроде Lisp, но их я не знаю и толком сказать ничего не могу.
1
|
||||
|
200 / 87 / 9
Регистрация: 15.11.2010
Сообщений: 472
|
||||
| 06.10.2017, 00:05 | ||||
|
В C++, насколько знаю, указатели используются в полной мере. А то что их инкапсулируют в объекты и скрывают при конечном использовании, используя всякие механизмы, такие как методы, перегруженные операторы и т. д., ничего по сути не меняет. Всё равно на уровне реализации класса и его методов они используются ВОВСЮ. Скрыть их и избавиться от них в C++ можно лишь на уровне интерфейсов, что сути не меняет.
0
|
||||
|
4149 / 2727 / 433
Регистрация: 09.09.2017
Сообщений: 12,084
|
||||
| 06.10.2017, 09:18 | ||||
Насколько я понял, ненависть к goto восходит к временам раннего basic и assebmler, где других способов перехода не было. Программисты привыкли к реализации циклов на goto и метках, хитрым прыжкам между процедурами и прочим хакам, позволяющим иногда сэкономить пару байт или тактов. Еще можно вспомнить знаменитые бейсиковые метки в виде цифр в начале каждой строки (не знаю как было в ассемблере). Они перенесли такой стиль программирования и на Си, и он там выглядел совершенно чужеродно. Одно дело читать ассемблерный код с прыжками по коду - всем понятно что это вынужденная мера. И другое - вместо простого и очевидного while() использовать метки и прыжки по ним. Кроме того, Си скрывает подробности реализации и нельзя заранее сказать, какие инструкции перепрыгнет goto - а там может быть инициализация, работа со стеком, да мало ли. Ну и использование стандартных структур вынуждает использовать стандартные подходы вместо изобретения своих. И это очень хорошо, потому что их проще оптимизировать и читать.
1
|
||||
| 06.10.2017, 10:27 | |
|
0
|
|
|
200 / 87 / 9
Регистрация: 15.11.2010
Сообщений: 472
|
||||||||||||
| 06.10.2017, 15:20 | ||||||||||||
|
Сценарий выводит три раза "Hello, World", используя разный доступ к переменным. Вот посмотри, как это всё работает.
![]()
![]()
![]()
Нельзя входить внутрь блока, обойдя объявления переменных этого блока. Но если ты это сделаешь, компилятор выдаст тебе ошибку и не пропустит твой листинг.В общем, разбирайся, как делается косвенная ссылка в bash на моём примере (ты был уверен, что их там нет), а потом поговорим про goto.
0
|
||||||||||||
|
4149 / 2727 / 433
Регистрация: 09.09.2017
Сообщений: 12,084
|
||||||||||||
| 06.10.2017, 16:06 | ||||||||||||
0
|
||||||||||||
|
1 / 1 / 0
Регистрация: 21.02.2016
Сообщений: 41
|
|
| 06.10.2017, 16:23 | |
|
Когда проект большой, самому удобнее и приятнее в нем ориентироваться. А когда отступы не соблюдены, имена переменных непонятно какие, то всегда хочется отложить свое возвращение в написание такого кода, не говоря уже о том, что кому-то придется это читать.
1
|
|
|
$ su
|
||||||||||||||||||
| 06.10.2017, 17:57 | ||||||||||||||||||
|
Добавлено через 13 минут 0)это
Это нужно либо документировать перед функцией, либо объявлять нормальным именем.
1
|
||||||||||||||||||
|
4149 / 2727 / 433
Регистрация: 09.09.2017
Сообщений: 12,084
|
||
| 06.10.2017, 18:46 | ||
JohnyWalker, сам признал что его стиль плохо читаем.Пока что у меня складывается впечатление что он писал на каких-то древних языках и с тех пор привык к экономии байтов и тактов, если не комментариев и имен переменных (я о таких языках только читал).
0
|
||
|
$ su
|
||
| 07.10.2017, 14:22 | ||
|
0
|
||
|
4149 / 2727 / 433
Регистрация: 09.09.2017
Сообщений: 12,084
|
|
| 07.10.2017, 14:38 | |
|
В некоторых языках программирования были встроенные ограничения на размер имен переменных - чтобы поместились в память во время компиляции. А ведь есть еще интерпретируемые языки.
0
|
|
|
200 / 87 / 9
Регистрация: 15.11.2010
Сообщений: 472
|
|||||||
| 07.10.2017, 14:42 | |||||||
|
COKPOWEHEU, ты написал столько глупостей. Даже не знаю, как эти авгиевы конюшни разгрести, тем более, что и я не Геракл. Но я попробую
![]()
А потом, не забывай, что Unix Shell — довольно примитивный язык программирования, отсюда и такая ограниченность в выборе средств, в том числе и отсутствие удобных средств косвенной адресации. В том же Perl'е, насколько я знаю, ссылки есть, и это действительно полноценно реализованная ссылка, что разрушает твой миф о том, что в подлинно высокоуровневых языках указатели якобы не нужны и бесполезны.
![]()
Но если отойти от эйдосов Платона и спуститься с того умного места, где они обитают, на грешную землю, то придётся признать, что любой фон-неймановский компьютер — это машина последовательного действия и все эти замечательные единицы структурных языков программирования на последовательном компьютере могут быть реализованы только через переходы, те самые прыжки по коду, другого пути тут просто нет. И если даже подсунуть текст программы на языке высокого уровня безо всяких столь тобой ненавидимых goto человеку, умеющему читать код на этом языке, и заставить его исполнить эту программу (именно человека заставить исполнить программу), он тоже для того чтобы выполнить программу, будет вынужден прыгать по коду, по листингу. Видя перед собой цикл, оператор ветвления if—else он, чтобы реализовать вычисление, записанное в программе, будет постоянно совершать скачки по листингу. Так вынужден будет поступать даже человек, который гораздо умнее процессора компьютера. Так что видишь, твои рассуждения о структурных единицах программы как о самостоятельных отвлечённых сущностях, стоящих вне прыжков и переходов, особой ценности не имеют и смысла не несут.
0
|
|||||||
|
|
|
| 07.10.2017, 15:19 | |
|
0
|
|
|
4149 / 2727 / 433
Регистрация: 09.09.2017
Сообщений: 12,084
|
||||||||
| 07.10.2017, 16:31 | ||||||||
|
Более того, появление все более и более высокоуровневых языков как раз и вызвано нежеланием программистов каждый раз держать в голове все уровни абстракции - вплоть до регистров. Скажем, на bash я могу написать cat log.txt | grep error и не задумываться над тем, как именно будет реализован FIFO канал между двумя сторонними программами. Представь описывать такое хотя бы на Си. Я уже привел пару примеров где goto уместен.И все-таки мне интересно, почему, по-твоему, так ненавидят goto? И почему указатели, goto, даже работу с железом стремятся спрятать как можно глубже, так чтобы конечный программист ее по возможности не видел?
0
|
||||||||
| 07.10.2017, 16:31 | |
|
Вставить пробел после каждого символа "." "," "!" или "?", если за этими символами не следует пробел Преобразовать строку, чтобы после каждой точки был пробел, и следующая буква после точки были заглавная
Exception in thread "main" java.lang.NullPointerException at Main.main Main.cpp: In function ‘int main()’: main.cpp:10:1: error: ‘then’ was not declared in this scope Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ
Основная суть и тезисы по измерениям:
0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема.
Объект не может перемещаться в 0D.
1D (Первое измерение):. . .
|