Я, честно говоря, даже не знаю, как Вам ответить :) Или этот комментарий - шутка?
В общем, на тот случай, если это не шутка:
"[Global variables] are usually considered bad practice precisely because of their nonlocality: a global variable can potentially be modified from anywhere, and any part of the program may depend on it. A global variable therefore has an unlimited potential for creating mutual dependencies, and adding mutual dependencies increases complexity."
[http://en.wikipedia.org/wiki/Global_variables]
Ну и богатый личный опыт, разумеется :)
Глобальные переменные, как известно, зло. По возможности, их лучше их не использовать. Поэтому локальные переменные используются чаще, и вводить для них дополнительный префикс было бы неудобно. Во многом это вопрос вкуса, как и всё остальное.
По поводу "языка для начинающих в духе PHP" - это Вы смешно сказали :)
1. Я не могу себе представить, какой же нужно использовать шрифт, редактор и монитор, чтобы блоки с отступами в 4 символа сливались. В статье есть примеры с форматированием. Вы действительно считаете, что этот код плохо читаем?
2. неправильно выразился. Разница между первым и вторым элементом в срезе - это количество элементов. Восприятие такой конструкции - вопрос привычки, на мой взгляд. Зато очень удобно: list[2:] (с 2 и до конца), list[:2] (с 0 до 2), варианты с переворачиванием списка через отрицательные срезы и т.п.
Мне кажется, что Вы как-то очень поверхностно ознакомились с языком и стали делать далеко идущие выводы.
Хотя, если не нравится, то не нравится.
"Скорость выполнения программ написанных на Python очень высока."
В сравнении с чем? :)
И еще у Вас, кажется, пункты 2 и 3 в списке преимуществ перепутаны местами.
Еще, я бы "list comprehension" перевел бы как "охват списков".
А вообще хорошая статья и хороший перевод.
Мне тоже так показалось. Более того, MS, например, в свою платформу для построения корпоративных порталов SharePoint в новой версии встроил поддержку блогов, вики и даже социальных сетей. Да и возможность публикации записей в блог из Ворда кое о чем говорит :)
Так что требования буржуазной молодежи находят отклик в недрах крупных компаний ;)
Да, возможно я представил всё это в слишком радужных тонах. И я ни в коем случае не имел в виду, что не надо ничего делать для того, чтобы добиться успеха. Но у меня есть масса примеров, когда люди не смотря ни на что занимались тем, что было им близко, но "не модно" (микроконтроллерами какими-нибудь). Не сразу, но постепенно они находили способы зарабатывать себе этим и на хлеб, и даже на масло. И мне просто хотелось бы верить, что это не частные случаи, что есть всё-таки какой-то "закон природы", помогающий людям, занимающимся любимым делом.
Спасибо за Ваш комментарий. Были бы "пульки" - поставил бы плюс. =)
Может быть немного не в тему, но всё-таки.
Для тех, кто на основе таких вот статей принимает карьерное решение (чем заняться), я скажу вот что:
1. Кадры решают всё. Хороший программист на PHP сделает куда более стабильную, производительную и масштабируемую систему, чем посредственный - на Java. Помните, что "серебряной пули не существует".
2. Заниматься надо тем, к чему душа лежит. Нет ничего хуже, чем работа, которая тебе не интересна. IT - это сфера деятельности для энтузиастов; люди, которые пришли сюда "ради денег", как правило, долго не задерживаются. Есть даже мнение, что dotcom bubble лопнул из-за народа, который подался в IT потому, что это было модно и денежно, при этом не имея ничего за душой.
Если вам нравится LISP и функциональщина, не гоняйтесь за модой, занимайтесь своим делом. Удача вас найдет, повернет к себе лицом и улыбнется =)
Кстати, вот пример другого исследования, где выборка задана гораздо конкретнее: http://www.port80software.com/surveys/
Если вкратце: исследуются веб-сервера компаний, входящих в Fortune 1000 (т.е. 1000 лидирующих компаний по версии журнала Fortune).
Готов оформить по этой теме отдельный хабратопик, если кнопка "написать" перестанет отправлять меня читать Хабравики.
Как обычно, зависит не от того, кто голосует, а от того, кто считает :)
Вообще было бы очень интересно узнать, каким образом составлялась подборка для исследования.
Django (http://www.djangoproject.com/): Django is an open source web application framework, written in Python, which loosely follows the model-view-controller design pattern.[Wikipedia]
TurboGears (http://turbogears.org/): TurboGears is designed around the model-view-controller architecture, much like Struts or Ruby on Rails [Wikipedia]
Я в боевом режиме не пробовал, да и не надо мне =) Формально поддержка есть, не хуже, чем для PHP и т.п. Боевой проект _я_ бы не стал на нем делать, но это не значит, что это невозможно :)
Собственно, Mono особо никому не нужен, т.к. процент клиентских машин с не-Windows крайне мал, а серверная платформа выбирается целиком и сразу. Вряд ли ведь кто-то будет выбирать ".NET, но обязательно под Linux".
Собственно, по-моему, единственный случай, когда реально играет роль кросплатформенность - это если делается "коробочный" продукт, среди потребителей которого могут быть и пользователи Windows, и пользователи Linux.
Но, честно сказать, я таких продуктов практически не видел.
Я видел такой мотоцикл. Владелец забыл ключи в замке багажника. Причем в связке были _все_ ключи: и от зажигания, и от замка, которым мотоцикл был пристегнут к заборчику.
В общем, на тот случай, если это не шутка:
"[Global variables] are usually considered bad practice precisely because of their nonlocality: a global variable can potentially be modified from anywhere, and any part of the program may depend on it. A global variable therefore has an unlimited potential for creating mutual dependencies, and adding mutual dependencies increases complexity."
[http://en.wikipedia.org/wiki/Global_variables]
Ну и богатый личный опыт, разумеется :)
По поводу "языка для начинающих в духе PHP" - это Вы смешно сказали :)
2. неправильно выразился. Разница между первым и вторым элементом в срезе - это количество элементов. Восприятие такой конструкции - вопрос привычки, на мой взгляд. Зато очень удобно: list[2:] (с 2 и до конца), list[:2] (с 0 до 2), варианты с переворачиванием списка через отрицательные срезы и т.п.
Мне кажется, что Вы как-то очень поверхностно ознакомились с языком и стали делать далеко идущие выводы.
Хотя, если не нравится, то не нравится.
:)
В сравнении с чем? :)
И еще у Вас, кажется, пункты 2 и 3 в списке преимуществ перепутаны местами.
Еще, я бы "list comprehension" перевел бы как "охват списков".
А вообще хорошая статья и хороший перевод.
Наверное, имелось в виду roommates?
Так что требования буржуазной молодежи находят отклик в недрах крупных компаний ;)
Спасибо за Ваш комментарий. Были бы "пульки" - поставил бы плюс. =)
Для тех, кто на основе таких вот статей принимает карьерное решение (чем заняться), я скажу вот что:
1. Кадры решают всё. Хороший программист на PHP сделает куда более стабильную, производительную и масштабируемую систему, чем посредственный - на Java. Помните, что "серебряной пули не существует".
2. Заниматься надо тем, к чему душа лежит. Нет ничего хуже, чем работа, которая тебе не интересна. IT - это сфера деятельности для энтузиастов; люди, которые пришли сюда "ради денег", как правило, долго не задерживаются. Есть даже мнение, что dotcom bubble лопнул из-за народа, который подался в IT потому, что это было модно и денежно, при этом не имея ничего за душой.
Если вам нравится LISP и функциональщина, не гоняйтесь за модой, занимайтесь своим делом. Удача вас найдет, повернет к себе лицом и улыбнется =)
Или Вы так, чисто абстрактно против?
Если вкратце: исследуются веб-сервера компаний, входящих в Fortune 1000 (т.е. 1000 лидирующих компаний по версии журнала Fortune).
Готов оформить по этой теме отдельный хабратопик, если кнопка "написать" перестанет отправлять меня читать Хабравики.
Вообще было бы очень интересно узнать, каким образом составлялась подборка для исследования.
TurboGears (http://turbogears.org/): TurboGears is designed around the model-view-controller architecture, much like Struts or Ruby on Rails [Wikipedia]
И не обращать внимания на такие вот "исследования".
Собственно, Mono особо никому не нужен, т.к. процент клиентских машин с не-Windows крайне мал, а серверная платформа выбирается целиком и сразу. Вряд ли ведь кто-то будет выбирать ".NET, но обязательно под Linux".
Собственно, по-моему, единственный случай, когда реально играет роль кросплатформенность - это если делается "коробочный" продукт, среди потребителей которого могут быть и пользователи Windows, и пользователи Linux.
Но, честно сказать, я таких продуктов практически не видел.