Ну тогда всё с вами ясно, простите, против таких, как вы, любые аргументы бессильны.
В качестве домашнего задания вам: попробуйте написать слова так, как произносите их, а потом с удивлением откроете для себя «местечковые» особенности произношения. А затем попробуйте ещё просклонять написанное. Сможете?
Всё относительно. Индонезийский вот тоже, казалось бы, «как слышится, так и пишется», а на деле — много непроизносимых (или слабо произносимых), например, “k” в конце слова, “g” после “n”, часто “h” — и так далее. Естественные языки вообще отдельный разговор. Хотя иногда в естественные языки всё же вносятся «реформы» — к примеру, когда “oe”, читаемое как “u” заменили на “u” в том же индонезийском. Но для этого были предпосылки — это самое “oe” было едва ли не единственным, что нарушало гармонию легкочитаемости. Предпосылок для того, чтобы перепиливать индексы или систему типов, нет — не только в существующих ЯП, но и при разработке новых. Языки делаются для людей, которые будут на них программировать. Эти люди, в большинстве своём, предпочитают в таких вопросах не отходить от традиций — лучше отойти в чём-то другом, например, ввести новый оператор какой-нибудь.
Вы знаете, вот вы тут подчёркивали всячески, что вы гуманитарий. Возможно, в таком случае и не стоило делать предложения, тем кто заведомо знает лучше? Давайте я вам, как гуманитарию, приведу аналогию с реальным миром (вам ведь проще мыслить аналогиями, верно)?
Смотрите. Вот дети приходят в школу. И с удивлением обнаруживают, что есть непроизносимые согласные, безударные гласные, «жи-ши с „и”» — и так далее. Так вот, ваше предложение относительно индексов, и то упорство, с которым вы не желаете просто почитать сотни комментариев и признать свою неправоту, пахнут такой же «детской» наивностью, как предложение писать всё так, как произносится. «Давайте введём интуитивно понятную систему правописания, зачем детям запоминать столько неочевидностей, 21-й век на дворе давно». Чувствуете?
Существование языков, в которых индексы начинаются с 1 — самое нелепое оправдание тому, что нужно, чтобы и во всех остальных языках было то же самое. Это лишь означает, что такая идея имеет право на существование, но это не означает, что этот вариант лучше, и уж тем более не означает, что он — единственный правильный.
Вы часто ссылаетесь на неочевидность для новичков и недостаточную «высокоуровневость». Я и по этому поводу могу много написать, но попробую быть краток.
По поводу очевидности — не находите ли вы, что иногда очевидность в такой сложной теме, как программирование, является скорее недостатком, чем преимуществом? Я думаю, мы все можем привести в пример парочку языков с «слишком» низким порогом вхождения, в результате которого на этих языках стали писать все, кому не лень, и тоннами быдлокода создали этим языкам репутацию «быдлокодерских», хотя на них вполне можно писать элегантно и правильно.
По поводу высокоуровневости — не знаю, как для вас, но для меня (и для коллег, которые сидят рядом и тоже читают эту тему) высокоуровневость, прежде всего, заключается в синтаксисе. Для того, чтобы сказать, что язык A гибче и высокоуровневее языка B, нужно, чтобы в A были более гибкие конструкции, встроенные структуры данных. Но уж никак не такие мелочи, как индекс.
Вот честно, я не знаю уже, как ещё аргументировать свою позицию. Вы смотрите лишь на тех, кому неудобен ноль, но напрочь игнорируете мнение тех, кому неудобна единица и тех, кому это совершенно безразлично, и приходите к «фундаментальному» выводу о том, что «ноль неудобен для всех, но не все ещё это осознали».
Дожить бы для начала. И надеяться, что доживут также Хабр и интернет в его современном виде. А на последнее в свете политической обстановки надеяться всё труднее с каждым годом.
Не приравнивайте минусы к обиде. Карма, оценки постов и комментариев — это лишь регулятор, позволяющий сообществу самостоятельно выбирать, что им интересно, а что они видеть не хотят. Как видите, как только вы показали комментариями, что относитесь к ситуации аналитически и способны анализировать доводы комментаторов и делать выводы, отношение к вам поменялось. Потому что люди увидели, что вы не тролль (а таких тут тоже хватает), а человек, желающий во всём хорошо разобраться.
Хм, не знал о таком факте, но, в принципе, я не удивлён — Python создавался с мыслями о простоте и читаемости и я вполне допускаю, что его автор мог думать «сказано первый элемент — пусть и обозначается a[1]». И я рад за него, что он взвесил аргументы «за» и «против» и пришёл к мудрому решению :)
Хорошо, допустим даже нет никаких архитектурных ограничений — компилятору пофиг. Но есть психологическая сторона вопроса. Языков программирования сейчас просто море — и когда вы создаёте новый, вам нужно сделать его интересным для сообщества, т.е чтобы порог вхождения не был слишком высоким, были какие-нибудь удобные синтаксические конструкции, которых нет у конкурентов. Индексация с 1 — пример такой вещи, которая способна, не дав вашему языку ничего нового семантически, крайне негативно сказаться на пороге вхождения. Потому что опытные программисты, работавшие с другими языками, изучая ваш, неожиданно начнут совершать кучу нелепых и неочевидных ошибок. Будет затруднён перенос существующих проектов на ваш язык, как кода, так и данных.
Если эти вещи за 20 лет не изменились, значит, на то были определённые причины. Программисты, всё-таки, должны думать, а не возлагать на «умную машину» всё сразу. Проще говоря, определённый уровень контроля должен оставаться. Хотя в мире есть языки, где реализованы описанные вами идеи, например, нумерация с 1 есть в Lua, если мне не изменяет память. Но нумерация с 0, как ни удивляйтесь, является даже более «интуитивной» для тех, кто в программировании уже давно. Прежде всего потому что первыми коллекциями исторически были массивы, а индекс в массиве означал просто смещение от начала отведённого под массив участка памяти. Поломаете эту традицию — и негодовать уже будут не изучающие, а те, кто программировал профессионально.
Не очень-то я умею читать графики современных осциллографов, со своим-то С1-67. Но плюсую за упорство, жаль, в карму нельзя, ибо публикаций у вас нету (кстати, чем не идея для публикации).
Может, всё-таки на светодиодах типа АЛ119 и подобных?
Хотя можно провести эксперимент — модулировать питание лампочки постепенно нарастающей частотой, а потом фотодиодом или фоторезистором снять то, что получится, и проанализировать. Быть может, и на килогерцах будут очень слабые колебания, которые можно усилить, но субъективно почему-то сомневаюсь. Накал в электронных лампах вон, вообще 50-герцевый был, но при этом колебания в эмиссии не были достаточными для возникновения фона. Впрочем, в электронных лампах не прямой накал, там косвенный (катод — толстая металлическая трубка, разогреваемая нитью накала).
Вы знаете, ваши заявления в этой теме выглядят куда более категорично, чем мои. И про развязку на высокочастотных трансформаторах я в курсе, спасибо. Она встречается и в ADSL-модемах на порту для подключения телефонной линии, и в практически любых сетевых картах и устройствах (хабах, коммутаторах), где используется разъём RJ-45. Расскажете мне ещё про магнитную проницаемость и вихревые токи? Я не пришёл сюда навязывать своё мнение, я пришёл поддержать дискуссию и высказать определённые предположения. Если бы я писал статью, поверьте, я бы оперировал исключительно тем, с чем хорошо знаком, но здесь — комментарии. Это и способ указать другим на их ошибки, и способ самостоятельно почерпнуть какие-либо знания. Ваше заявление, что я не понимаю в теме ничего, звучит ну просто очень толсто. Как минимум я могу самостоятельно изготовить описанное в теме устройство, в то время как многие другие в этой теме, как мне кажется, вряд-ли в состоянии это сделать, но при этом высказывают свою точку зрения. По-вашему, они не имеют морального права высказывать свою точку зрения?
Ну отчего же сразу переходить на личности? Хорошо, как, по-вашему, работает медиаконвертор? По своей сути эта та же оптическая развязка, а скорости там очень даже внушительные.
Наконец, я не настаиваю на необходимости именно оптронной развязки. Обратите внимание, я ответил на заведомо неверный комментарий об удорожании системы в случае использования оптронной развязки, но я не был тем, кто её предложил задействовать.
Я занимаюсь аналоговой электроникой, а не цифровой, поэтому показать какие-то конкретные реализации не могу. Возможно, вы меня неправильно поняли — я имел в виду то, что достаточно минимальных познаний в электронике, чтобы самому догадаться, что чем выше скорость интерфейса, тем выше рабочая частота и, соответственно, требования к быстродействию компонента (лампочкой накаливания, к примеру, больше нескольких герц уж точно не передашь).
С конденсаторами вряд-ли что-то будет, скорее сгорит коммутирующий элемент (полевик, транзистор или что там было использовано). (upd) хотя это от принципа действия устройства будет зависеть. Извиняюсь, ответил, держа в голове мысль о замкнутых сигнальных контактах.
Склонность к хулиганству, троллингу всегда была в определённой степени присуща технически подкованным людям. Это для них такой своеобразный способ мозгового самоудовлетворения — цель подобных затей обычно подчеркнуть для самого себя своё превосходство. Это было и будет всегда. Всегда были радиохулиганы в эфире, всегда были программисты, пишущие вредоносное ПО, не имея мотивов и не получая за это прибыль. Честно говоря, я воспринимаю эту статью в том ключе, что лучше об этом поговорить, чем делать это скрытно. С другой стороны, я не отрицаю, что автор публикации может преследовать вполне конкретные цели, связанные с продажей устройства.
Хм, а с каких это пор оптроны стали настолько дорогими, что несколько штук оптронов (ну и ещё несколько компонентов, необходимых для цепей развязки) удорожат всю систему на порядки? Я думаю, здесь просто дело в том, что никто никогда не задумывался о возможности такой атаки. Уверен, если эта проблема станет по-настоящему массовой, развязка вскоре также будет внедрена всеми производителями оборудования.
«Не в том» — это когда втихаря делаешь и используешь. А в этой статье, как раз-таки, есть определённая доля предостережения. Во всяком случае, технически подкованная аудитория Хабры будет уже гораздо осторожнее относиться к подобного рода находкам, как раз благодаря таким статьям зная, что они могут собой представлять.
В качестве домашнего задания вам: попробуйте написать слова так, как произносите их, а потом с удивлением откроете для себя «местечковые» особенности произношения. А затем попробуйте ещё просклонять написанное. Сможете?
Смотрите. Вот дети приходят в школу. И с удивлением обнаруживают, что есть непроизносимые согласные, безударные гласные, «жи-ши с „и”» — и так далее. Так вот, ваше предложение относительно индексов, и то упорство, с которым вы не желаете просто почитать сотни комментариев и признать свою неправоту, пахнут такой же «детской» наивностью, как предложение писать всё так, как произносится. «Давайте введём интуитивно понятную систему правописания, зачем детям запоминать столько неочевидностей, 21-й век на дворе давно». Чувствуете?
Существование языков, в которых индексы начинаются с 1 — самое нелепое оправдание тому, что нужно, чтобы и во всех остальных языках было то же самое. Это лишь означает, что такая идея имеет право на существование, но это не означает, что этот вариант лучше, и уж тем более не означает, что он — единственный правильный.
Вы часто ссылаетесь на неочевидность для новичков и недостаточную «высокоуровневость». Я и по этому поводу могу много написать, но попробую быть краток.
По поводу очевидности — не находите ли вы, что иногда очевидность в такой сложной теме, как программирование, является скорее недостатком, чем преимуществом? Я думаю, мы все можем привести в пример парочку языков с «слишком» низким порогом вхождения, в результате которого на этих языках стали писать все, кому не лень, и тоннами быдлокода создали этим языкам репутацию «быдлокодерских», хотя на них вполне можно писать элегантно и правильно.
По поводу высокоуровневости — не знаю, как для вас, но для меня (и для коллег, которые сидят рядом и тоже читают эту тему) высокоуровневость, прежде всего, заключается в синтаксисе. Для того, чтобы сказать, что язык A гибче и высокоуровневее языка B, нужно, чтобы в A были более гибкие конструкции, встроенные структуры данных. Но уж никак не такие мелочи, как индекс.
Вот честно, я не знаю уже, как ещё аргументировать свою позицию. Вы смотрите лишь на тех, кому неудобен ноль, но напрочь игнорируете мнение тех, кому неудобна единица и тех, кому это совершенно безразлично, и приходите к «фундаментальному» выводу о том, что «ноль неудобен для всех, но не все ещё это осознали».
Хотя можно провести эксперимент — модулировать питание лампочки постепенно нарастающей частотой, а потом фотодиодом или фоторезистором снять то, что получится, и проанализировать. Быть может, и на килогерцах будут очень слабые колебания, которые можно усилить, но субъективно почему-то сомневаюсь. Накал в электронных лампах вон, вообще 50-герцевый был, но при этом колебания в эмиссии не были достаточными для возникновения фона. Впрочем, в электронных лампах не прямой накал, там косвенный (катод — толстая металлическая трубка, разогреваемая нитью накала).
Наконец, я не настаиваю на необходимости именно оптронной развязки. Обратите внимание, я ответил на заведомо неверный комментарий об удорожании системы в случае использования оптронной развязки, но я не был тем, кто её предложил задействовать.