1.1, Аноним (1), 09:18, 24/09/2019 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Отступы? Закопайте нахрен. Самое дебильное изобретение, какое только можно было придумать в питоне. И вот нате вам, второй такой...
| |
|
2.6, trolleybus (?), 09:31, 24/09/2019 [^] [^^] [^^^] [ответить]
| –34 +/– |
Зато написать некрасивый (и поэтому нечитаемый) код не получится по определению.
| |
|
3.26, Аноним (26), 10:33, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
Тут можно потроллить упоминанием голанга, который сам принудительно форматирует исходный код согласно правилам языка. И если ты привык открывать тело функции с новой строки, то ой.
| |
|
4.29, powershell (ok), 10:41, 24/09/2019 [^] [^^] [^^^] [ответить]
| +6 +/– |
потому что не нужно привыкать к чему-то, что не является следованием гайдлайна языка
| |
4.96, гуси (?), 14:09, 24/09/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
> открывать тело функции с новой строки
Зачем так делать вообще?
| |
|
5.115, Аноним (26), 15:31, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
Ей-богу, я не знаю. Просто знаю людей, которых сводит с ума автоматическое форматирование в голанге.
| |
|
6.177, Аноним (177), 20:20, 24/09/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
Как же тогда приходится тем, у которых после закомментирования пары строчек на питоне, скрипт больше не запускается, потому что для этих пары строчек нужно сдвигать другой код. А потом - сдвигать назад.
| |
|
7.179, Анонм (?), 20:44, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
> Как же тогда приходится тем, у которых после закомментирования пары строчек на
> питоне, скрипт больше не запускается, потому что для этих пары строчек
> нужно сдвигать другой код. А потом - сдвигать назад.
Я конечно уже лет 8 ничего на питоне не писал, но звучит как жуткий бред.
Конкретный пример можно?
| |
|
8.212, имя (ok), 07:01, 25/09/2019 [^] [^^] [^^^] [ответить] | +/– | Просто программировать научились, а подменять if var на if 1 8212 нет ... текст свёрнут, показать | |
|
|
|
5.219, Аноним (219), 11:01, 25/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
Возможно, затем же, зачем используются разные виды скобочек.
Чтобы визуально отличались функции от циклов и условий, например.
| |
|
|
3.80, Аноним (80), 13:33, 24/09/2019 [^] [^^] [^^^] [ответить]
| +4 +/– |
Так отбивка пробелами без операторных скобок делает _вообще_весь_ код нечитаемым. Попробуй найди, где заканчивается текущий блок,если он длиннее 5 строчек. Ситуация такая же, как если его вообще не отбивать.
| |
3.127, Аноним (127), 16:27, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
Легко, если не ставить пустые переводы строк после операторного блока. И, даже, ошибок абсолютно нечитаемых при этом понаделать, тоже, очень легко.
| |
3.145, Аноним (1), 18:29, 24/09/2019 [^] [^^] [^^^] [ответить]
| +3 +/– |
Фиговый нечитаемый код зависит от прямизны головы и рук, а не от использования скобок вместо отступов.
| |
|
2.39, Аноним (39), 11:03, 24/09/2019 [^] [^^] [^^^] [ответить]
| –3 +/– |
Каждый раз, когда, читая очередной пихоно-код, гуглю, что означает та или иная конструкция, поражаюсь ущербности пихона. Недавно узнал про такую штуку, как pass. Оказывается в пихоне нельзя создать функцию, в которой нет ни одного стейтмента. Просто синтаксически требуется хотя бы один стейтмент, в связи с чем выдумали кейворд pass, типа аналог NOP из ассемблера. Если в других языках нужно просто удалить всё, что между { и }, то в пихоне удалить не выйдет, нужно заменять фуфловыми заглушками. Ни в каком высокоуровневом языке нет такой шняги на уровне синтаксиса, а в пихоне есть, и есть она исключительно потому, что какой-то гвидончик выдумал такую пРиКоЛьНуЮ)))) штуку, как насильственная организация кода отступами, и больше ничем.
| |
|
3.68, Евгений (??), 12:51, 24/09/2019 [^] [^^] [^^^] [ответить] | –11 +/– | Язык программирования создаеться для людей, и прежде всего это средство общения ... большой текст свёрнут, показать | |
|
4.79, Аноним (39), 13:28, 24/09/2019 [^] [^^] [^^^] [ответить] | +1 +/– | То есть случай, когда функция реализована почти полностью, за исключением послед... большой текст свёрнут, показать | |
|
5.113, Евгений (??), 15:27, 24/09/2019 [^] [^^] [^^^] [ответить] | –7 +/– | насчет костыля не согласен т к не вижу сложности реализовать скрипт трансляции ... большой текст свёрнут, показать | |
|
6.119, Аноним (39), 15:56, 24/09/2019 [^] [^^] [^^^] [ответить] | +/– | Ты предлагаешь написать костыль, вызванный неудобствами другого костыля В други... большой текст свёрнут, показать | |
|
7.124, Евгений (??), 16:20, 24/09/2019 [^] [^^] [^^^] [ответить]
| –5 +/– |
еще раз, не надо додумывать,
я не предлагаю писать костыли, и писать свой велик для трансляции,
суть в том что реализовать парсер синтаксиса без pass - дело 5 строк кода,
а значит в python pass добавлен намеренно и не являеться костылем.
так же как намеренно не реализован go-to который есть в плюсах - это не показатель что питон полная шляпа.
по остальному, как я уже выше писал смысл в том что не надо оценивать язык по синтаксическому сахору, причем поверхностно.
"Поскольку пихон - язык программирования для непрограммистов"
ты живеш в идеальном мире, программирование это всего лиш инструмент - набор инструкций а не секта,
я оцениваю технологии с точки зрения бизнеса а не религии, поэтому врятли мы с тобой прийдем к общему мнению.
| |
|
8.137, Аноним (39), 17:09, 24/09/2019 [^] [^^] [^^^] [ответить] | +2 +/– | Документация говорит об обратном Эту документацию писали разрабы пихона, и разр... большой текст свёрнут, показать | |
|
|
10.199, Аноним (39), 22:29, 24/09/2019 [^] [^^] [^^^] [ответить] | +1 +/– | Ситуёвина такова, что это скорее я выбираю работодателей, чем работодатели меня ... большой текст свёрнут, показать | |
|
|
|
7.152, Аноним (152), 18:52, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
> Поскольку пихон - язык программирования для непрограммистов
Бред какой...
| |
|
|
|
4.82, Anonymoustus (ok), 13:35, 24/09/2019 [^] [^^] [^^^] [ответить]
| +3 +/– |
Если ты программы [ЕГЭ моде он] пишеш также грамматна как па русске [ЕГЭ моде офф], то лучше тебе сменить область деятельности.
| |
|
5.107, Евгений (??), 15:10, 24/09/2019 [^] [^^] [^^^] [ответить]
| –7 +/– |
Ты когда идеш к доктару или вызываеш такси, вначале просиш его пройти тест на знание грамматики русского языка?
какими еще принципами оценки навыков ты пользуешься?
Не хочу тебя шокировать - но русский не мой родной язык, я даже не проживаю в Росии.
Вообще тебя ждет в переди еще куча невероятных открытий, например если ты закроеш глаза - станет темно только тебе, и если закрыть лицо руками то тебя всеравно видно! это правда, часно - если мне не вериш можеш спросить у своей мамы или в школе.
| |
|
4.190, Аноним (190), 21:43, 24/09/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
Для общения программистов между собой создаются форумы, системы контроля версий и т.д., а не языки программирования. Языки программирования создаются для описания алгоритмов и данных, которые обрабатываются на компьютерах.
| |
|
5.206, Евгений (??), 01:37, 25/09/2019 [^] [^^] [^^^] [ответить]
| –3 +/– |
> Для общения программистов между собой создаются форумы, системы контроля версий и т.д.,
> а не языки программирования. Языки программирования создаются для описания алгоритмов
> и данных, которые обрабатываются на компьютерах.
не согласен - лучшая документация чистый апи и читабельный код
все остальное второстипенно
описать алгоритм можно и математичским языком, так же интерпритатор его без проблем поймет
язык все же для людей поэтому идет неулонное движение от асамблера к более высоким степеням абстракции
| |
|
|
3.73, Аноним (73), 12:59, 24/09/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Ни в каком высокоуровневом языке нет
Ты знаешь слишком мало языков.
| |
3.118, Аноним84701 (ok), 15:46, 24/09/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Каждый раз, когда, читая очередной пихоно-код, гуглю, что означает та или иная
> конструкция, поражаюсь ущербности пихона. Недавно узнал про такую штуку, как pass.
И отписался в теме о совершенно другом ЯП. Бывает. Держите нас в курсе!
> в пихоне есть, и есть она исключительно потому, что какой-то гвидончик
> выдумал такую пРиКоЛьНуЮ)))) штуку, как насильственная организация кода отступами, и больше ничем.
Нет, совсем не поэтому (см. хотя бы предмет новости – там оно "почему-то" не нужно).
| |
3.140, ggdotgff (?), 18:09, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
забалела? полечися!
зы прайсы по программистам посмотри, болезниный. рыночек порешал, тебя не спросил?
| |
|
2.52, Аноним (52), 11:49, 24/09/2019 [^] [^^] [^^^] [ответить]
| –5 +/– |
Отступы - самое гениальное что есть в Питоне!!! Читать чужой код хоть стало возможно!
| |
|
3.64, Аноним (64), 12:37, 24/09/2019 [^] [^^] [^^^] [ответить] | +/– | Сразу видно человека который не видел код на питоне code def possibilities ... большой текст свёрнут, показать | |
|
|
5.151, Урри (?), 18:50, 24/09/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
а вот если бы автор не поленился и скопировал еще пару строк кода (не входящих в тело цикла) - хрен бы ты пофиксил.
и это главная проблема отступов, потому как язык не должен существовать только внутри специально созданных для него редакторов.
| |
|
6.180, Anonymoustus (ok), 20:53, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
> а вот если бы автор не поленился и скопировал еще пару строк
> кода (не входящих в тело цикла) - хрен бы ты пофиксил.
Если в коде нету других ошибок, кроме неправильных отступов, то пофиксить будет проще простого.
> и это главная проблема отступов, потому как язык не должен существовать только
> внутри специально созданных для него редакторов.
И это же одновременно его достоинство.
| |
6.208, Евгений (??), 01:43, 25/09/2019 [^] [^^] [^^^] [ответить]
| –2 +/– |
> а вот если бы автор не поленился и скопировал еще пару строк
> кода (не входящих в тело цикла) - хрен бы ты пофиксил.
> и это главная проблема отступов, потому как язык не должен существовать только
> внутри специально созданных для него редакторов.
помойму сейчас мало кто разрабатывает без IDE - нет смысла перекладывать работу на внимательность которую может выполнить программа
| |
|
5.171, Аноним84701 (ok), 19:46, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
if north +east +south +west == earth:
combinations.append((north,east,south,west,earth))
return combinations
> Вот теперь всё работает!
Что-то мне подсказывает, что задумка была возвращать все комбинации, а не только первую найденную.
А еще что-то подсказывает, что "alphabets=(n,o,r,t,h,e,a,s,u,w,m,y)" вообще невалидный синтакс.
Ну и по мелочи:
"if len(set([n,o,r,t,h,e,a,s,u,w,m,y]))==12:" читается как "все переменные с разными значениями",
переменных 12, возможных значений 10 - хм, что тут может быть не так?
Изи фикс:
def possibilities(): return []
| |
|
4.185, ADR (ok), 21:29, 24/09/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
def possibilities():
combinations = list()
options = list(range(9, -1, -1))
for n, o, r, t, h, e, a, s, u, w, m, y in product(*[options] * 12):
if len({n, o, r, t, h, e, a, s, u, w, m, y}) == 12:
north = 10000 * n + 1000 * o + 100 * r + 10 * t + h
east = 1000 * e + 100 * a + 10 * s + t
south = 10000 * s + 1000 * o + 100 * u + 10 * t + h
west = 1000 * w + 100 * e + 10 * s + t
earth = 10000 * e + 1000 * a + 100 * r + 10 * t + h
if north + east + south + west == earth:
combinations.append((north, east, south, west, earth))
return combinations
| |
|
|
2.131, Аноним (131), 16:43, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
Самое дебильное изобретение, какое только можно было придумать в ЯПах - это убогие скобки.
| |
|
3.221, dryghar (?), 12:31, 25/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
Скобки еще терпимо, а вот точки с запятой обязательные уже задолбали -_-
| |
|
2.232, Аноним (232), 00:28, 29/09/2019 [^] [^^] [^^^] [ответить] | +/– | А вы программируете не важно на чем без отступов А если с отступами, то не за... большой текст свёрнут, показать | |
|
1.3, Аноним (3), 09:23, 24/09/2019 [ответить] [﹢﹢﹢] [ · · · ]
| –5 +/– |
Адовый ад с этими отступами, где пробела, где табы, ищи почему не работает
| |
|
|
3.10, Аноним (10), 09:36, 24/09/2019 [^] [^^] [^^^] [ответить]
| +10 +/– |
В UTF-8 штук так двадцать разных пробелов (точно число не помню)
| |
|
4.30, Аноним (30), 10:44, 24/09/2019 [^] [^^] [^^^] [ответить]
| +4 +/– |
Space, no-break space, en quad, em quad, en space, em space, three-per-em space, four-per-em space, six-per-em space, figure space, punctuation space, thin space, hair space, narrow no-break space, medium mathematical space, braille pattern blank, ideographic space ну и всякие там zero-width space, word joiner и компания, но они уже непечатные обычно.
| |
4.51, Аноним (50), 11:47, 24/09/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
В выражениях ЯП допустимы только символы с номерами 32 - 127 ASCII. Всё остальное только в качестве текстовых строк и комментариев.
| |
|
5.153, Урри (?), 18:53, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
В выражениях ЯП должен быть весь юникод. Чай не в 19 веке в англии живем.
| |
|
6.157, Аноним (50), 19:03, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
Тогда вам, вероятно, понравятся Рапира, Шпага, что там ещё было придумано в 1970/80-е в СССР.
| |
|
7.200, Урри (?), 22:57, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
Большинство современных взрослых языков программирования поддерживают юникод. А в вашем ерничанье я вижу только глупость.
| |
|
|
|
6.220, Аноним84701 (ok), 11:19, 25/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
> Вы таки неправы, можно использовать ЛЮБЫЕ юникодовые идентфикаторы для названий процедур/переменных/типов,
> но конечно же никто этого не будет делать.
> https://play.nim-lang.org/#ix=1WPS
Это неинтересный пример ;)
template 🗣(👍) = echo(👍)
let 🦄 = "🌈"
🗣 🦄
вполне компилируется и работает.
| |
|
|
4.78, burjui (ok), 13:26, 24/09/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
Небольшое замечание - в Unicode. UTF-8 - это только одна из кодировок.
| |
|
3.25, Аноним (25), 10:33, 24/09/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
Можно закапывать. Я бы не рискнул пользоваться ЯП с разработчиками, чей уровень (не)адекватности позволил им выпилить табы.
| |
|
|
3.28, Аноним (26), 10:36, 24/09/2019 [^] [^^] [^^^] [ответить]
| +7 +/– |
Да можно и дальше пойти - в обычных документах, предназначенных для текстового процессора, этого тоже не стоит делать. Вёрстка поползёт.
И в обычных текстовых файлах тоже не нужно - может оказаться неудобно обрабатывать Vim'ом. Короче, бардак всегда зло.
| |
|
4.38, Аноним (38), 11:00, 24/09/2019 [^] [^^] [^^^] [ответить]
| +6 +/– |
В конфигах нужно пользоваться только табами. Иначе вёрстка поползёт. В мейкфайлах, в исходниках на си, да много где. Если настроить вим, то в скриптоте (включая питон) тоже лучше пользоваться табами. Кто вообще придумал отступы пробелами делать? У некоторых программистов секретарша головного мозга, или им платят за размер файла?
| |
|
5.81, burjui (ok), 13:33, 24/09/2019 [^] [^^] [^^^] [ответить]
| –1 +/– |
Табы хороши ровно до тех пор, пока длина строки не ограничена гайдлайнами. А как только ограничение появляется, оказывается, что длина строки зависит от ширины таба. Получается, в гайдлайне нужно явно указывать ширину таба. Ой.
| |
|
6.122, Аноним (122), 16:05, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
Тогда просто ширина таба в IDE задается одинаковая для всех разработчиков. И если ширина таба и длина строки не указаны в гайдлайне, то каждый разработчик выставит удобную ему ширину. А то одному удобны отступы в 2 пробела, а другому - в 6. Каждый ставит свое значение и верстка не расползается.
| |
|
5.197, Аноним (197), 22:16, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
>или им платят за размер файла
Как будто нет страны, которая этим прославилась.
| |
|
|
|
2.53, Ordu (ok), 11:57, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
Не надо ныть здесь о том, что ты не можешь настроить текстовый редактор. Читай лучше мануал к своему текстовому редактору.
| |
2.70, Евгений (??), 12:54, 24/09/2019 [^] [^^] [^^^] [ответить]
| –1 +/– |
Используйте Pycharm - там подобные проблемы заранее предусмотренны
| |
|
3.163, аноним3 (?), 19:30, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
kwrite прекрасно питоновские скрипты переваривает и еще умудряется подсказывать. а на счет табов верно. вся верстка от них летит к чертям даже в обычных документах, а если в питоновских скриптах и еще паре других, у тебя вместо программы может получится полный мусор, хотя питон не так радикален.
| |
|
4.173, Евгений (??), 19:52, 24/09/2019 [^] [^^] [^^^] [ответить]
| –3 +/– |
pycharm автоматом заменят табы на пробелы,
+ есть поддержка для django, да и в целом семантический анализ объектов работает хорошо
+ дебаг с интерактивным режимом
+ гит плагин - удобно конфликты разрешать
в общем для работы все же пичарм
если просто глянуть код или мини скрипт до 50 строк то можно просто обычным редактором с подсветкой обойтись
| |
|
|
|
|
|
|
4.133, Аноним (131), 16:45, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
Нет, просто все что ты сейчас видишь - это сон, а на самом деле тебе скоро пора вставать и топать в школу.
| |
|
|
|
|
|
|
|
|
6.155, Урри (?), 18:55, 24/09/2019 [^] [^^] [^^^] [ответить]
| –1 +/– |
- Вы программист? На чем вы программируете? (на английском)
- (низуя не понимая по английски, так как испанец, но на всякий случай и с улыбкой) Си, сеньор.
| |
|
|
|
|
2.31, Anonymoustus (ok), 10:49, 24/09/2019 [^] [^^] [^^^] [ответить]
| +3 +/– |
Хотя на Си можно написать всё, это прежде всего язык системного программирования для профессионалов. Для прикладного же программирования и для _всех_ были созданы, к примеру, Бейсик и его диалекты. Но руконогим почему-то зазорно использовать то, что специально для них придумано. Ведь так хочется почувствовать себя крутым продолжателем дела Ритчи!
| |
|
3.46, Аноним (46), 11:26, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
> прикладного же программирования и для _всех_ были созданы, к примеру, Бейсик
Пробовали факторизацию матриц среднего порядка (так примерно 10000) сделать на Бейсике и на Си? На Си считается несколько десятых долей секунды. На Бейсике дождаться окончания расчета не представляется возможным. Вот вам пример прикладного программирования на Си.
| |
|
4.48, Anonymoustus (ok), 11:37, 24/09/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
На каком из диалектов Бейсика ты так облажался? Если у тебя не получается написать программу на Бейсике — подумай о том, чтобы сменить профессию. :)
Видишь ли, анон, все языки программирования в конечном итоге создают последовательность машинных команд, которые процессор внутри себя обрабатывает, причём не обязательно в том же порядке, в каком они поступили. Залог успеха вовсе не в какой-то особой крутизне языка Си.
| |
4.63, BrainFucker (ok), 12:37, 24/09/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
А причём тут язык? Никто же не запрещает написать какой нибудь более быстрый бейсик или вовсе такой, чтобы сперва транслировался в C, а затем компилировался, как сабж.
| |
|
5.74, Аноним (73), 13:08, 24/09/2019 [^] [^^] [^^^] [ответить]
| +3 +/– |
> А причём тут язык? Никто же не запрещает написать какой нибудь более
> быстрый бейсик
Такой бейсик уже есть и написан до бейсика. Называется Фортран.
| |
|
6.101, Anonymoustus (ok), 14:35, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
>> А причём тут язык? Никто же не запрещает написать какой нибудь более
>> быстрый бейсик
> Такой бейсик уже есть и написан до бейсика. Называется Фортран.
Современные бейсики умеют так много, что почти всё. Пруфы предоставят: PureBasic, PowerBASIC, FreeBASIC, Decimal BASIC, True BASIC (от создателей оригинального Васика), даже SmallBASIC. Из них много бесплатных — бери и пиши сразу свои программы, не мучаясь вечными вопросами.
| |
|
|
|
9.218, Аноним (73), 09:51, 25/09/2019 [^] [^^] [^^^] [ответить] | –1 +/– | Видывали такое, а как же Зачем далеко ходить Вот что давеча подавал тут один с... текст свёрнут, показать | |
|
|
|
|
|
4.198, Аноним (198), 22:26, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
> На Си считается несколько десятых долей секунды. На Бейсике дождаться окончания расчета не представляется возможным. Вот вам пример прикладного программирования на Си.
Вот что только не навыдумывают себе, лишь бы не учит Фортран.
| |
|
3.228, Аноним (10), 08:20, 26/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
Си это язык общего назначения. Его можно использовать как для написания низкоуровневой так и для прикладных программ. Вообще разделение на прикладные и системные является только семантикой в голове человека.
| |
|
2.54, Аноним (50), 11:59, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
>вот что только не придумают лишь бы С не учить.
В C нет классов, а его надмножество Objective-C не взлетел.
| |
|
3.60, Аноним (60), 12:19, 24/09/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
А - если вернуться в реальность.
Пишу в ООП-стиле на С лет уже 15...
Про Objective-C - особенно жирно было. Аж монитор расплавленным салом замироточил...
| |
|
4.158, Аноним (50), 19:08, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
>Пишу в ООП-стиле на С лет уже 15...
Оно, конечно, можно принимать пищу обратным направлением, но зачем так мучаться?
Есть же, к примеру, C++ на крайняк.
| |
|
3.61, НяшМяш (ok), 12:26, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
> Objective-C не взлетел
В первую очередь из-за синтаксиса и сложностей в реализации ФП. Все известные мне яблочники (да и я тоже) с гиканьем мигрировали на Swift как только он появился.
| |
|
4.178, пох. (?), 20:43, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
с синтаксисом-то что тебе не так? Форматирования табами не хватает?
| |
|
5.203, НяшМяш (ok), 00:46, 25/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
> с синтаксисом-то что тебе не так? Форматирования табами не хватает?
Сяшечный код можно форматировать как угодно (и даже не форматировать вообще). [someInstance callMethod:argument] - вот от этого до сих пор вздрагиваю. А как выглядит классическая цепочка filter - map - reduce (при условии что ты реализовал эти методы) - вообще в кошмарах снится.
| |
|
|
3.71, Аноним (71), 12:55, 24/09/2019 [^] [^^] [^^^] [ответить]
| –2 +/– |
В С нет классов исключительно потому что они не нужны ни в каком языке программирования. В том же Го нет классов и он отличный язык в отличии от Nim.
| |
|
4.75, Аноним (73), 13:09, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
> В С нет классов исключительно потому что...
...ты не знаешь, как реализовать их в Си.
| |
|
5.85, Аноним (71), 13:39, 24/09/2019 [^] [^^] [^^^] [ответить]
| –1 +/– |
Потому что то что ты называешь классами не далеко ушло от того что в Го называется struct.
| |
|
6.94, Аноним (73), 14:03, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
> Потому что то что ты называешь классами не далеко ушло от того
> что в Го называется struct.
Они точно так и в Си называются.
| |
|
7.99, Аноним (71), 14:29, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
Struct как бы он не различался в Го и в C имеет примерно никакого отношения к классам. У классов может быть и наследование 8 уровня и инкапсуляция всего во все. И это сделано исключительно чтобы запутать код. В нормальных языках этой ерунды нет.
| |
|
8.156, Урри (?), 19:00, 24/09/2019 [^] [^^] [^^^] [ответить] | –1 +/– | Боже, год от года анонимы все тупее и тупее Они даже разучились в гугле запросы... текст свёрнут, показать | |
|
9.166, Аноним (166), 19:37, 24/09/2019 [^] [^^] [^^^] [ответить] | +2 +/– | Ты серьёзно Пихать одни структуры в другие структуры и называть это наследовани... текст свёрнут, показать | |
|
|
|
|
|
|
|
2.84, burjui (ok), 13:39, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
> вот что только не придумают лишь бы С не учить.
Что наглядно показывает, насколько хорош C для решения повседневных задач, не связанных с написанием драйверов, сборщиков мусора и прочего низкоуровневого добра. Ну, мы-то с вами знаем, что настоящие программисты ошибок не делают, а настоящие программы не жрут память, не сегфолтятся, не имеют уязвимостей... поэтому всё надо писать на C. А лучше сразу на LLVM IR, а то слишком высокоуровнево, не труъ.
| |
|
1.13, Аноним (13), 09:39, 24/09/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
> что позволяет добиться производительности близкой к Си, если не учитывать затраты на выполнение сборщика мусора
А если учесть, то позволяет добиться производительности близкой к Python
| |
|
2.92, Аноним84701 (ok), 13:56, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
>> что позволяет добиться производительности близкой к Си, если не учитывать затраты на выполнение сборщика мусора
> А если учесть, то позволяет добиться производительности близкой к Python
https://nim-lang.org/docs/manual.html
> Nim distinguishes between traced and untraced references. Untraced references are also called pointers. Traced references point to objects of a garbage collected heap, untraced references point to manually allocated objects or to objects somewhere else in memory.
Если вы не смогли написать код без использования GC, то кто же вам виноват?
| |
|
|
4.126, Аноним84701 (ok), 16:21, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
> ну как бы в Nim'е при всё желании отключить GC полностью получится
> только на слвоах, а на деле *йтамплавал*
Не только на словах. Просто без сторонних либ и, тем более, std - придется довольно таки грустно.
Но таки следует различать чисто ЯП и "bundle" ЯП c std, рантаймом и шахматессами.
Да и GC там вроде бы разные есть, окромя счетчика ссылок, есть.
*йатамтожекогдатоплавал*.
| |
|
|
|
1.16, хрю (?), 09:50, 24/09/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +5 +/– |
nim симпотный язык. Можно сказать один из самых симпотных и удобных. Даже отступы там можно сказать в тему. Кто интересуется языками и ещё не щупал (понятно что таких немного, но вдруг +)), настоятельно рекомендуем ознакомиться.
| |
|
2.56, Аноним (50), 12:04, 24/09/2019 [^] [^^] [^^^] [ответить]
| +3 +/– |
Что не так? Исходный код должен быть воспринимаем человеком.
| |
|
3.128, Аноним (127), 16:32, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
Пишите на Ruby. У него и код должен быть человечным, и отступы автоматически рубокопом расставляются.
| |
|
|
1.24, Аноним (25), 10:31, 24/09/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
>Язык Nim использует статическую типизацию и создан с оглядкой на Pascal, C++, Python и Lisp
Чем это лучше, чем haxe?
| |
1.27, funny.falcon (?), 10:33, 24/09/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +10 +/– |
Меня напрягает регистронезависимость идентификаторов, например. Я не понимаю, зачем в современном языке устраивать эту вакханалию.
| |
|
|
3.88, burjui (ok), 13:50, 24/09/2019 [^] [^^] [^^^] [ответить]
| +7 +/– |
Была, а сейчас там вообще какое-то сумасшествие:
https://nim-lang.org/docs/manual.html#lexical-analysis-identifier-equality
В качестве преимуществ указывается то, что каждый может писать идентификаторы в любимом стиле - humpStyle или snake_style, и что не нужно запоминать их точное написание. Это правило работает и для ключевых слов: notin, notIn и not_in - одно и то же.
Не знаю, как там остальной язык, но эта часть уже очень напрягает.
| |
|
|
1.33, анонимчик (?), 10:50, 24/09/2019 [ответить] [﹢﹢﹢] [ · · · ]
| –4 +/– |
язык.уКоторогоВСтандатнойБиблиотекеКемелНотацияИлиДругаяВычурностьНеИмеетБудущего, как альтернатива c
| |
|
2.35, Аноним (64), 10:54, 24/09/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
Правильно. Главное в языке как там записаны имена функций. Это самое главное.
| |
2.57, Аноним (50), 12:11, 24/09/2019 [^] [^^] [^^^] [ответить]
| –1 +/– |
А мне нравится такое именование traTaTa. Оно короче на количество пробелов, чем tra_ta_ta.
PS Иногда чуть-чуть смешиваю стили именования:
Prefix_MyTypeNumberOne
| |
|
1.44, Аноним (44), 11:21, 24/09/2019 [ответить] [﹢﹢﹢] [ · · · ] | +/– | За 10 лет шкодинга на Python всегда использовал и пробелы, и табуляцию одновреме... большой текст свёрнут, показать | |
|
|
3.136, Аноним (131), 16:54, 24/09/2019 [^] [^^] [^^^] [ответить]
| +3 +/– |
А в чем шутка-то? В том что он на електроне написан? Так он на нем работает стабильнее, чем куча мусорных и проприетарных IDE написаных на других япах. Уже не говоря о том, что им банально удобнее пользоваться. За вебом будущее, смиритесь.
| |
|
|
1.49, Аноним (49), 11:38, 24/09/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Не вижу в новости упоминания, чем очередной язык лучше того что есть и какие цели преследуют авторы этого поделия.
| |
|
2.66, BrainFucker (ok), 12:43, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
Все такие проекты преследуют одну цель: заимствовать удачные особенности Питона (синтаксис) и сделать компилируемый аналог без его недостатков (питон медленный).
| |
|
3.90, Аноним (49), 13:51, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
Это не повод для создания нового языка. Достаточно новой редакции, как делают в C++, 11, 14,17. А так я вижу, кому то просто нечего делать. Это не плохо, тогда было бы лучше написать, мы студенты, решили запилить свое и пофиг что никому не нужно
| |
|
4.98, alex (??), 14:22, 24/09/2019 [^] [^^] [^^^] [ответить]
| –1 +/– |
ага-ага
со второй версии на третью лет 10 -15 переходили, и то, наверное еще кто то не перешел, раз вторую еще супортят.
| |
|
5.172, аноним3 (?), 19:52, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
там отличия в нескольких функциях и появлении новых. че там переходить то.
| |
|
|
|
|
|
2.69, Аноним (71), 12:52, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
Тогда уж Elixir, если твоей задачей было использовать самый странный язык программирования.
| |
|
3.97, Аноним (97), 14:10, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
> Тогда уж Elixir, если твоей задачей было использовать самый странный язык программирования.
Если бы задачей было использовать самый странный язык программирования, то я выбрал бы clojure
| |
3.123, Аноним (38), 16:15, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
Elixir очень приятный кстати, не надо. И ничего не странный. Не уверен, где его можно применить, но я бы наверное использовал его везде вместо ноды. Во всяком случае server-side.
| |
|
|
1.65, BrainFucker (ok), 12:40, 24/09/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
А вообще вместо того чтобы городить Nim, можно было допилить Cython, чтобы можно было писать целиком на нём без зависимости от Питона.
| |
|
2.87, Аноним (71), 13:41, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
Cython с его сегфалтами в непредсказуемых местах в принципе не может использоваться в продакшене. Вот почему такой транслятор не сделать на том же расте ума не приложу. Наверно этих самых программистов на расте не существует.
| |
|
1.76, Аноним (76), 13:14, 24/09/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Nim это заявка на быстрый Python. Это то чего не хватает многим. Самое прогрессивное в Nim как и в Python это конечно выделение блоков отступами, что резко уменьшает количество синтаксического мусора. Это будущее всех языков. К сожалению в остальном Nim пошел по пути бесконечного добавления "вкусностей". Тот же тупиковый путь что привел C++ в монструозный хаос. Ещё недостаток Nim даже по сравнению с Python (или что-то не заметил) отсутствие "графики из коробки". Предлагается грузить сторонние дополнения отдельной сетевой утилитой "nimble". Что изрядное мозгоклюйство, целая отдельная наука. В целом похоже проект провальный :(
| |
1.77, Аноним (77), 13:15, 24/09/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
kotlin намного лучше - адекватный ЯП и крутая бесплатная IDE
и мультиплатформеность (java, native, web)
| |
1.89, Techno1 (?), 13:51, 24/09/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
> В дальнейшем полученный C/C++ код компилируется в исполняемый файл при помощи любого доступного компилятора
очередное wrap-ерство... тьфу.
| |
1.95, user90 (?), 14:03, 24/09/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +6 +/– |
> с оглядкой на Pascal, C++, Python и Lisp
И на логотипе там случайно не химера?
Посмотрел примеры кода - почувствовал легкую тошноту. Но легкую - это блин уже хорошо! а то как глянешь на Rust, так еле до толчка добежать успеваешь..
| |
|
2.102, Anonymoustus (ok), 14:41, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
>> с оглядкой на Pascal, C++, Python и Lisp
> И на логотипе там случайно не химера?
> Посмотрел примеры кода - почувствовал легкую тошноту. Но легкую - это блин
> уже хорошо! а то как глянешь на Rust, так еле до
> толчка добежать успеваешь..
Заминусуют. А то и вовсе удалят. Здесь фанатики этой какашки подвизаются вахтерами и удаляют нехрустоугодные комментарии.
| |
|
3.106, user90 (?), 15:06, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
Да пусть удаляют если хочется :) Срач по поводу ЯП всегда еще безумнее, чем даже дистросрач.
> Здесь фанатики этой какашки подвизаются вахтерами и удаляют нехрустоугодные комментарии.
Это ты зря, с модерацией пока все Ок.
| |
|
4.112, Anonymoustus (ok), 15:26, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
> Да пусть удаляют если хочется :) Срач по поводу ЯП всегда еще
> безумнее, чем даже дистросрач.
>> Здесь фанатики этой какашки подвизаются вахтерами и удаляют нехрустоугодные комментарии.
> Это ты зря, с модерацией пока все Ок.
Удаление комментариев предопределяет наше отношение к ним и друг к другу. Я пытался донести эту простую мысль до бабок на здешней вахте, но бабки непробиваемы. :)
| |
|
5.193, Илья (??), 21:51, 24/09/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Удаление комментариев предопределяет наше отношение к ним и друг к другу.
Рискну предположить, что Ваши комментарии удаляют только потому, что они токсичны, как и любые другие комментарии тут
| |
|
6.195, Anonymoustus (ok), 21:59, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
>> Удаление комментариев предопределяет наше отношение к ним и друг к другу.
> Рискну предположить, что Ваши комментарии удаляют только потому, что они токсичны, как
> и любые другие комментарии тут
Не надо ни о чём гадать и путать причину со следствием, человек с Хабра, если уже написано прямым текстом и по-русски.
| |
|
|
|
3.108, user90 (?), 15:13, 24/09/2019 [^] [^^] [^^^] [ответить]
| +3 +/– |
Да и вообще, какова ценность каментов на Опеннете по прошествии хотя бы недели после публикации? Примерно околонулевая, не? Можно подумать, что если взять и разом потереть ВСЕ каменты недельной давности, то это на что-то повлияет))
| |
|
|
1.139, VICTOR MALOV (?), 17:43, 24/09/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Эра новых языков прошла, а жаль. Проект интересный. Но, очевидно, никогда популярным не станет.
Даже супер-хайповый Rust такой только в Интернете. Глянул вчера количество вакансий на hh.ru, аж плакать хочется.
| |
|
2.213, Аноним (131), 07:27, 25/09/2019 [^] [^^] [^^^] [ответить]
| +3 +/– |
Проблема хомяков в том, что они все оценивают по количеству вакансий. Никто не будет переводить весь штаб сотрудников на что-то новое, пока старое работает, но это не значит, что новое можно использовать как вспомогательный инструмент. И да, в какой-то момент все всегда идет по п... и только тогда работодатель в панике начинает искать альтернативы, а все потому что человечество настолько неспособно к адаптации, что я удивлен как мы вообще прошли естественный отбор.
| |
|
1.143, Аноним (1), 18:25, 24/09/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Я таки пояснб мысль про отступы и их ущербность. В сишечках и прочих перлах блоки кода выделяются скобками, и в принципе, если форматирование съехало по какой-то причине, всегда можно вручную либо автоматом отформатировать исходник, опираясь на вложенность скобок.
Что делать с питоном или нимом, если пробелы уехали? Не табуляция или там где-то 2, где-то 4, где-то 8, а сами блоки кода порушены?
У меня однажды случилось такое. После чего я зарекся использовать питон в скриптах на пролакшн серверах клиентов. Кто-то что-то где-то потрогает... И адьос.
| |
|
|
3.160, Аноним (160), 19:12, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
2019 год, а люди до сих пор ведут борьбу с отступами, у них постоянно что-то где-то "ломается", "едет".
Такое ощущение что я живу в параллельной реальности
| |
|
4.162, Урри (?), 19:28, 24/09/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
2019 год, а людей все еще заставляют делать "правильные" отступы.
| |
4.183, Аноним (1), 21:21, 24/09/2019 [^] [^^] [^^^] [ответить]
| –1 +/– |
Если бы писал только внутри себя, то оно как бы ничего. Но вот я налепил скрипт на питоне, отдал его заказчику, типа склеить один процесс с другим.
Гит на сервер? Нельзя, безопасность. Скрипт в исходниках, кто-то подлез и привет. Причём это случилось через пару лет, когда никто не помнит, что там где и что там в этом скрипте было.
| |
|
5.194, Илья (??), 21:57, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
> безопасность
Не вижу какой-либо проблемы с безопасностью в локальном репозитории.
Перед изменением скрипта зафиксировали его состояние, и все проблемы ушли. Пушить никуда не надо.
| |
|
6.204, Аноним (1), 00:52, 25/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
Проблема в том, что на сервер ничего нельзя прикрутить. Никаких гитов шмитов. Далее, кто-то может залезть и случайно (или специально) что-то изменить или пофиксить. И, как всегда это происходит, никаких бэкапов или гитов-шмитов...
| |
|
7.231, Илья (??), 06:35, 27/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
> Проблема в том, что на сервер ничего нельзя прикрутить. Никаких гитов шмитов.
> Далее, кто-то может залезть и случайно (или специально) что-то изменить или
> пофиксить. И, как всегда это происходит, никаких бэкапов или гитов-шмитов...
У вас есть проблема, вполне очевидное решение, но вы не можете его применить. Жаль вас
| |
|
|
|
|
|
2.168, Аноним (166), 19:41, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
Отступы съезжают только от копипасты. Решение не заниматься копипастой. А профит что форматирование всегда одинаковое и никакие форматтеры не нужны в общем случае. А не как в джаваскипт где скобочковый хел и каждый пишет кто во что горазд.
| |
|
1.175, аноним3 (?), 20:08, 24/09/2019 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
не вижу проблемы у отступов вообще. писал скрипт в простом текстовике и даже он отступы сам выставлял при переходе на новую строку. что вы уперлись в отступы? проблема в ниме скорее в том, что он вместе с синтаксисом питона притащил сишный. по итогу получилось, что проще пользоваться сишкой чем нимом. один фиг код транслируется в сишный. вот если бы они умудрились сделать полностью питоновский стиль и при этом компилируемый в бинарь вот это можно было бы похвалить. питон ведь стал популярен из за простоты и меньшего количества кода в сравнении с теми же плюсами и другими. а так что они сделали? смешали питон с сишкой и паскалем? зачем? сделайте аналог того же раста, но с питоновским синтаксисом многие поаплодируют, но ни у кого нет желания писать компилятор способный распознавать тип применяемых переменных, как это сделано в самом питоне.короче желания понятны, но пошли не туда. решили облегчить себе жизнь портированием кода в сишку и потом компилить. это же только усложняет все.
| |
|
2.196, Илья (??), 22:03, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
> сделайте аналог того же раста, но с питоновским синтаксисом многие поаплодируют,
Не получится, второй раст напишете, только без скобок и с отступами
> но ни у кого нет желания писать компилятор способный распознавать тип применяемых переменных, как это сделано в самом питоне.
Либо я вас не понял, либо все языки со статической типизацией всегда знают типы всех значений на этапе компиляции (ну если мы не рассматриваем каст к object и обратно к более конкретному типу)
| |
|
3.201, аноним3 (?), 23:08, 24/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
в питоне нет необходимости указывать тип переменной, например инт, в то время как в компилируемых языках требуется указание типа присваиваемой переменной еще до основного блока программы. в питон же можно легко ввести новую переменную посреди блока, перичем нет необходимости указания её типа. в этом одна из фишек питона. и создать компилятор, который сам сможет определить в исходнике этот тип и при этом правильно определять границы вложенных блоков оказывается весьма нетривиальной задачей. а учитывая еще и динамическую типизацию, то сами понимаете, что сделать такое очень непросто. это как внести в компилятор целый эвристический анализатор.
| |
|
4.222, meantraitor (?), 12:51, 25/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
Возьмем Котлин.
Вроде, компилируемый язык. Но в нем необязательно указывать тип переменной.
Тем не менее - это язык со статической типизацией. Чудеса, да и только ;)
| |
|
5.225, аноним3 (?), 17:11, 25/09/2019 [^] [^^] [^^^] [ответить]
| –2 +/– |
но весь набор питона кто нибудь смог уместить в компилируемый язык? пока не видел. либо синтаксис аналогичный сишному, либо интерпретируемый язык.
| |
|
4.230, Илья (??), 22:12, 26/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
> в питоне нет необходимости указывать тип переменной, например инт, в то время
> как в компилируемых языках требуется указание типа присваиваемой переменной еще до
> основного блока программы.
Ну пример из учебника раста:
fn live_neighbor_count(&self, row: u32, column: u32) -> u8 { // В сигнатуре обязательны типы
let mut count = 0;
for delta_row in [self.height - 1, 0, 1].iter().cloned() {
for delta_col in [self.width - 1, 0, 1].iter().cloned() {
if delta_row == 0 && delta_col == 0 {
continue;
}
let neighbor_row = (row + delta_row) % self.height;
let neighbor_col = (column + delta_col) % self.width;
let idx = self.get_index(neighbor_row, neighbor_col);
count += self.cells[idx] as u8; // Единственное явное приведение
}
}
count
}
Все объявленные переменные (я насчитал 6) имеют свой строгий тип, но он выводится неявно. То, что вы называете "эвристический анализатор" уже не менее 10 лет работает в компилируемых языках.
В дотнете то же самое, только типы выводятся через var. В джаве то же самое. В котлине то то же самое.
| |
|
|
|
1.211, Griggorii (?), 05:28, 25/09/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Забыл добавить на ssd. А , илита опять скакает со своими минусами вот так и работают за место реальных разработок бегают тут глазеют.
| |
|