metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2013-08-14 03:28 am

Meine ehre heißt treue

Вместо того, чтобы писать на хипстеруби хипстовебопердени или хотя бы изобретать систему типов для нового кодогенератора за деньги - сижу обслуживаю базы данных и софт на белорусских госпредприятиях в свободное от работы время.
Кроме меня, видимо, некому - задачи вида "сервер зачем-то сожрал всю свободную память" или "нужно заменить версию сервера на более новую" нужно сначала сделать самому, а потом только автоматизировать или писать инструкции для коллег.
И то, это помогает только в случае "все работает как ожидается", а когда что-нибудь идет не так - квалификации людей не всегда хватает даже на то, чтобы проблему заметить, не говоря уже о том, чтобы ее решить. Пошаговые инструкции в случае нетривиальных проблем не помогают.

Надо все-таки переделывать и выкидывать все, что не поддается автоматическому обслуживанию или склонно к порождению нетривиальных проблем. На данный момент это винды и железо, обслуживаемые ИТ-службами клиентов, а из софта - долбаный Firebird.
Вплоть до того, что останавливать нахрен все разработки и садится всем целенаправленно выкидывать Firebird из продуктов раз и навсегда, заменять все на postgresql, линуксы, веб-сервисы, единообразные коробочные виртуалки, итп.

[identity profile] Дмитрий Васильев (from livejournal.com) 2013-08-14 10:59 am (UTC)(link)
Синтаксические ошибки определяются в момент выполнения, а не в момент загрузки файла.

vagrant@precise32:~/test_sntx_error$ cat test_sntx_error.rb
puts 'Check that ruby does not load syntactically incorrect files'
require_relative 'wrong_file'
puts 'This line is expected to be never printed'
vagrant@precise32:~/test_sntx_error$ cat wrong_file.rb
def syntactically_incorrect_function.rb
  ({){
end
vagrant@precise32:~/test_sntx_error$ ruby test_sntx_error.rb
Check that ruby does not load syntactically incorrect files
test_sntx_error.rb:2:in `require_relative': /home/vagrant/test_sntx_error/wrong_file.rb:2: syntax error, unexpected ')', expecting '}' (SyntaxError)
  ({){
     ^
        from test_sntx_error.rb:2:in `'
vagrant@precise32:~/test_sntx_error$


[identity profile] metaclass.livejournal.com 2013-08-14 11:10 am (UTC)(link)
class Test
 def some_method
  puts "some_method"
 end
end


puts "trying to call something"

a = Test.new
a.some_method1


выводит:
trying to call something
t1.rb:11:in `': undefined method `some_method1' for # (NoMethodError)

В гроб такие языки загонят.

[identity profile] trueblacker.livejournal.com 2013-08-14 11:32 am (UTC)(link)
Ну логично же, осмысленность очередной строчки может быть результатом выполнения предыдущей.

[identity profile] metaclass.livejournal.com 2013-08-14 11:35 am (UTC)(link)
Это потому что никто в статик типы и одновременно в нормальный user experience для языка не умеет.
Либо хипсторасы рубейные с таким вот калом, либо язык на котором можно вывернуть мозг для писания, либо ограниченная анальная жаба.
Дотнет, C# и F# сами по себе неплохи, но у них инфраструктура и высокоуровневые либы все говно.

[identity profile] trueblacker.livejournal.com 2013-08-14 11:43 am (UTC)(link)
истинная причина, ящитаю, как всегда в безблагодатности.

[identity profile] veremeenko-alex.livejournal.com 2013-08-14 01:08 pm (UTC)(link)
Так выбора из динамических нет. Остальное еще хуже.

[identity profile] vinslivins.livejournal.com 2013-08-14 07:02 pm (UTC)(link)
ну вот тесты писать пушкин будет, да?