Хм, я программировал на C# до Ruby… И довольно странно спорить о том, что ASP.NET MVC — это калька с Rails. Имхо, это очевидный факт для любого, кто видел классический ASP.NET. Естественно, MS не переписывала ради этого Visual Studio и использовала свои наработки в плане интерфейсов. Но концептуально всё скопировали и это хорошо, потому что до этого ASP.NET был ужасен (это я постарался наиболее мягкий эпитет подобрать).
В данной ветке да. Обсуждались конкретно типовые веб-сервисы, которые делают CRUD на базе REST. И "визарды" для них MS скопировала уже с Rails в рамках ASP.NET MVC.
Тогда есть Crystal с приятным синтаксисом в стиле Ruby. Он и постабильнее, чем Nim, будет… сравните кол-во открытых issues на Github. По быстродействию в среднем где-то между C и Go.
Ну, строго говоря, хорошо читаемый язык от плохо читаемого отличает в том числе и читабельность однострочников. Другими словами, write-only однострочник можно на чём угодно написать… А вот такой однострочник, который читался бы не хуже чем verbose-вариант, очень мало языков позволяют писать… и Python, к сожалению, к ним не относится. В основном, тому виной плохо согласованная стандартная библиотека, которая так и не определилась процедурная она или объектно-ориентированная, в каком порядке должны следовать аргументы и т.д. В принципе, такие же проблемы есть и в PHP, поэтому с PHP на Python можно легко перейти… Но перейти с того же Ruby на Python крайне сложно, т.к. к хорошему быстро привыкаешь :-)
Замечу, что помимо Ruby есть ещё много языков с прекрасно продуманной стандартной библиотекой, например C#, Haskell, Elixir.
Вот Вы развели то ветку…
В данном случае, речь вообще о конкретной девушке… Даже фото над этой фразой есть. Или Вам определённый артикль нужен, чтобы не казалось?
Ну так-то да, особенно если не ASCII, но просили пример попроще, чтобы новичку легко читалось…
Кстати, для демонстрации возможностей можно ещё и по символам range использовать:
Сайт-визитку на VPS? Уж что-что, а Wordpress можно на любом shared-хостинге поднять… За 80 руб/месяц уже можно достаточно приличный найти. И этот несчастный Wordpress прям из админки хостинга установить.
Я на Python не программирую, чисто на уровне чтения читабельного кода с ним знаком, поэтому просто взял вариант ближе к классическому набору map/filter/reduce. Хотя генераторы в Python пользуются большой популярностью, подозреваю, что они там тупо быстрее работают :-)
Ну, это Вы немного схитрили… заранее подготовив range.
Аналог второго варианта на Ruby выглядит на Python так:
import re
print '\n'.join(re.findall('.{16}', ''.join(map(lambda x: chr(x), range(32, 128)))))
А первый вариант, емнип, стандартной библиотекой Python не решается, придётся свою функцию писать для разбиения массива на чанки.
P.S. В любом случае, однострочники на Python лучше даже не пытаться писать, это ни разу не его сильная сторона. Получается довольно страшненько и практически нечитаемо.
Это извечный философский вопрос: Что значит "изучил язык"?
Вопрос этот не ограничивается языками программирования… и для естественных языков придумали такое понятие как уровень владения. И по факту с годами это почти не коррелирует. Точнее, очевидно, что для освоения языка на уровне С2 требуется несколько лет. Но обратное не верно, т.е. можно десятилетиями активно и успешно пользоваться языком, но не владеть им на уровне C2. Более того, практическая ценность такого уровня владения весьма спорна.
То же справедливо и для ЯП, изучить язык на уровне B2 достаточно для решения более 90% практических задач, вне зависимости от чьих-то представлений.
Ruby — неплохой вариант для начинающих. Тут я не спорю.
Однако, примеры Ваши даже программистам не понять… Потому что они нелогичны! Посмотрите, в какой ступор Вы вогнали бедного Eudokimoff своим "13.to_s.length.nil?".
Я уверен, что любой пример должен делать что-то осмысленное, ну например ASCII-табличку печатать:
Хм, я программировал на C# до Ruby… И довольно странно спорить о том, что ASP.NET MVC — это калька с Rails. Имхо, это очевидный факт для любого, кто видел классический ASP.NET. Естественно, MS не переписывала ради этого Visual Studio и использовала свои наработки в плане интерфейсов. Но концептуально всё скопировали и это хорошо, потому что до этого ASP.NET был ужасен (это я постарался наиболее мягкий эпитет подобрать).
Неплохой пароль и Вы его уже запомнили xD
В данной ветке да. Обсуждались конкретно типовые веб-сервисы, которые делают CRUD на базе REST. И "визарды" для них MS скопировала уже с Rails в рамках ASP.NET MVC.
Ну, это не то… DataSet, насколько я помню, предполагал редактирование и создание записей прямо в табличном представлении, даже без визарда.
Можно скриншотик компонента для сносного CRUD? Почему-то я не помню в Delphi 6 ничего подобного…
Так причём тут визарды в VisualStudio? Или они позволяли REST-сервисы создавать ещё до появления такого понятия как REST? xD
Тогда есть Crystal с приятным синтаксисом в стиле Ruby. Он и постабильнее, чем Nim, будет… сравните кол-во открытых issues на Github. По быстродействию в среднем где-то между C и Go.
Это scaffolding называется, собственно в Rails 1.x он и появился (в Rails 1.2 его с REST подружили), а потом уже все остальные скопировали.
Ну, строго говоря, хорошо читаемый язык от плохо читаемого отличает в том числе и читабельность однострочников. Другими словами, write-only однострочник можно на чём угодно написать… А вот такой однострочник, который читался бы не хуже чем verbose-вариант, очень мало языков позволяют писать… и Python, к сожалению, к ним не относится. В основном, тому виной плохо согласованная стандартная библиотека, которая так и не определилась процедурная она или объектно-ориентированная, в каком порядке должны следовать аргументы и т.д. В принципе, такие же проблемы есть и в PHP, поэтому с PHP на Python можно легко перейти… Но перейти с того же Ruby на Python крайне сложно, т.к. к хорошему быстро привыкаешь :-)
Замечу, что помимо Ruby есть ещё много языков с прекрасно продуманной стандартной библиотекой, например C#, Haskell, Elixir.
Вот Вы развели то ветку…
В данном случае, речь вообще о конкретной девушке… Даже фото над этой фразой есть. Или Вам определённый артикль нужен, чтобы не казалось?
Ну так-то да, особенно если не ASCII, но просили пример попроще, чтобы новичку легко читалось…
Кстати, для демонстрации возможностей можно ещё и по символам range использовать:
Мне кажется, с ЦА промашка вышла в плане рекламы..
Сайт-визитку на VPS? Уж что-что, а Wordpress можно на любом shared-хостинге поднять… За 80 руб/месяц уже можно достаточно приличный найти. И этот несчастный Wordpress прям из админки хостинга установить.
Ага, я когда читал, подумал… зачем там вообще генерация HTML, прикрутил бы лучше XSLT для полного BDSM-набора :-)
Спасибо, отличное уточнение. Буду знать, что в Python тоже так можно сокращать.
Я на Python не программирую, чисто на уровне чтения читабельного кода с ним знаком, поэтому просто взял вариант ближе к классическому набору map/filter/reduce. Хотя генераторы в Python пользуются большой популярностью, подозреваю, что они там тупо быстрее работают :-)
Ну, это Вы немного схитрили… заранее подготовив range.
Аналог второго варианта на Ruby выглядит на Python так:
А первый вариант, емнип, стандартной библиотекой Python не решается, придётся свою функцию писать для разбиения массива на чанки.
P.S. В любом случае, однострочники на Python лучше даже не пытаться писать, это ни разу не его сильная сторона. Получается довольно страшненько и практически нечитаемо.
Это извечный философский вопрос: Что значит "изучил язык"?
Вопрос этот не ограничивается языками программирования… и для естественных языков придумали такое понятие как уровень владения. И по факту с годами это почти не коррелирует. Точнее, очевидно, что для освоения языка на уровне С2 требуется несколько лет. Но обратное не верно, т.е. можно десятилетиями активно и успешно пользоваться языком, но не владеть им на уровне C2. Более того, практическая ценность такого уровня владения весьма спорна.
То же справедливо и для ЯП, изучить язык на уровне B2 достаточно для решения более 90% практических задач, вне зависимости от чьих-то представлений.
Ruby — неплохой вариант для начинающих. Тут я не спорю.
Однако, примеры Ваши даже программистам не понять… Потому что они нелогичны! Посмотрите, в какой ступор Вы вогнали бедного Eudokimoff своим "13.to_s.length.nil?".
Я уверен, что любой пример должен делать что-то осмысленное, ну например ASCII-табличку печатать:
или
Это он сможет переписать на Python и сравнить… А код, напрочь лишённый смысла, нельзя сравнить с кодом на другом языке.
Ну, для обучения тому, как работает машина Тьюринга, Brainfuck вполне сойдёт. Несмотря на свою эзотеричность, это не самый бесполезный ЯП.