- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
String.prototype.toCamelCase = function () {
var symbols = [], ready = '';
for (var z = 0; z < this.length; z++) {
symbols[z] = this.charAt(z);
}
for (var i = 0; i < symbols.length; i++) {
if (symbols[i] == '-') {
symbols[i + 1] = symbols[i + 1].toUpperCase();
}
}
for (var q = 0; q < symbols.length; q++) {
ready = ready + symbols[q];
}
ready = ready.replace('-', '');
return ready;
};
Lure Of Chaos 25.06.2010 18:53 # −2
eval 25.06.2010 19:03 # +1
Lure Of Chaos 25.06.2010 19:59 # +3
Почему, если код без гуру-выебов - то сразу говно? неоптимизированный но понятный код- говно. код, оптимизированный для быстродействия, но нечитаемый - тоже говно. код, оптимизированный по потреблению памяти - опять же говно.
то есть неговнокод написать невозможно: какая нить сука да вякнет, что это неТРУЪ
Webkill 25.06.2010 20:32 # −5
eval 26.06.2010 06:43 # +2
Да, и ты забыл упомянуть про оптимизированный и читаемый код.
Где ты тут видишь говнокод?
Lure Of Chaos 27.06.2010 11:36 # 0
zantor 27.06.2010 21:34 # −1
Lure Of Chaos 27.06.2010 22:06 # 0
Wеbkill 28.06.2010 08:59 # −4
eval 28.06.2010 12:15 # +1
А Lure Of Chaos был прав.
Wеbkill 28.06.2010 13:22 # −4
zantor 28.06.2010 13:39 # 0
eval 28.06.2010 13:51 # 0
zantor 28.06.2010 14:00 # 0
Lure Of Chaos 28.06.2010 14:18 # 0
> Да у вас тоже не без говна.
о чем я и говорил: неговнокод написать невозможно
Wеbkill 28.06.2010 14:40 # −2
Ну это только у заядлых говнокодеров неполучается.
eval 28.06.2010 14:53 # 0
С чего вы взяли, что это правда?
zantor 28.06.2010 15:00 # 0
Wеbkill 28.06.2010 22:55 # −1
Я раскрыл свои карты.
guest6 29.05.2024 06:51 # 0
guest6 29.05.2024 06:57 # 0
guest6 29.05.2024 07:00 # 0
guest6 29.05.2024 07:03 # 0
guest6 29.05.2024 07:06 # 0
guest6 29.05.2024 07:22 # 0
guest6 29.05.2024 08:52 # 0
guest6 29.05.2024 12:52 # 0
guest6 30.05.2024 06:52 # 0
guest6 01.06.2024 06:52 # 0
guest6 05.06.2024 06:52 # 0
guest6 18.07.2024 06:52 # 0
guest6 06.09.2024 06:52 # 0
eval 26.06.2010 06:57 # 0
У меня конечно нет шансов тебя переубедить, ведь твоё мнение одобрил сам WebKill, программист погромист всех времён и народов.
Lure Of Chaos 26.06.2010 10:52 # 0
не призываю писать код левой задней конечностью
bugmenot 30.06.2010 01:39 # 0
нубокодом задача решается в один проход
Анонимус 25.06.2010 20:32 # −6
?
Lure Of Chaos 25.06.2010 21:09 # 0
ваш К.О.
Анонимус 25.06.2010 21:12 # −3
Но даже ненавидимые мною экстеншен методы в .NET/CLR и то имеют более приятный синтаксис.
Меня в JS именно синтаксис вымораживает. Хотя и на нем можно писать, и даже привыкнуть -- сам пробовал
Lure Of Chaos 25.06.2010 21:28 # 0
Анонимус 25.06.2010 21:44 # 0
Lure Of Chaos 25.06.2010 21:52 # 0
Анонимус 25.06.2010 22:01 # −1
Я бы советовал или сделать нормаьный синтаксис для ООП или не поддерживать вовсе эту парадигму.
Ну согласитесь -- идиотизм, когда приватное свойсто пишется как "var m_strProperty", а публичное как "this.m_strProperty", когда объекты называются "function()" и значение "this" зависит от контекста...
Я понимаю что обратная совместимость и все дела, но язык действительно очень некрасивый.
Lure Of Chaos 25.06.2010 22:39 # 0
там много всяких "но", ленюсь.
о некрасивости: вы еще duck-типизацию не видели.
Анонимус 25.06.2010 23:02 # 0
В JS тоже типизация утиная -- статической-то типизации в JS нет.
Вообще языки без статической типизации это сакс. Если вам нужно написать больше одной страницы кода, то без статической типизации плохо.
Даже на горячо любимом мною питоне я бы не стал делать крупные проекты.
Lure Of Chaos 25.06.2010 23:12 # −1
иногда как раз динамики не хватает. На той же яве приходится выкручиваться средствами рефлексии и динамической компиляции. Хвала, есть груви
На питоне кстати немало успешных крупных проектов
Анонимус 25.06.2010 23:16 # 0
Потому что интерфейсов нет?
>>На той же яве приходится выкручиваться средствами рефлексии
Это, скорее всего, говорит не об очень хорошем дизайне.
Даже кастинг это плохо (со времен генериков) что уж говорить о рефлексии.
>>На питоне кстати немало успешных крупных проектов
Не спорю, один portage чего стоит) Из скриптовых языков питон наверное самый лучший с самой внятной идеологией.
Но я бы не осилил на нем крупный проект, наверное
Bjarne_Stroustrup 25.06.2010 23:24 # +3
Ага, "Дзэн Питона". Нехватка идеологии - частая причина сфейленных языков...
Анонимус 26.06.2010 01:00 # 0
Это ирония? Посмотрите на PHP, в котором столько подходов к написанию программ -- сколько школьников приложилось к его использованию. В любом проекте есть восемь разных код-стайлов, немного ООП подхода, немного процедурного, и шесть велосипедов)
Lure Of Chaos 25.06.2010 23:27 # 0
>Потому что интерфейсов нет?
нет, не поэтому. А потому, что (почитайте про утиную типизацию) из того, что классы одинаково определены, они еще не равны
при утиной типизации мы бы получили тоже 1
Анонимус 26.06.2010 01:01 # 0
Представить интерфейс значит просто реализовать все методы, без указания "implements" (или ":").
Разве на сравнение это влияет?
Lure Of Chaos 25.06.2010 23:32 # 0
вряд ли. Допустим, у коллеги была такая задача:
есть шаблон, абсолютно непредсказуемой формы (скажем, ртф), его нужно заполнить из пришедшего бина (поля могут соответствовать или нет), и выдать заполненный документ (дополнительно что бы был в пдф). Реализовать на яве.
здесь, поскольку свойства бина могут быть любыми, алгоритм должен в конечном итоге использовать рефлексию.
При использовании динамического языка (тот же груви или житон) задача упрощается в разы
Анонимус 26.06.2010 01:02 # 0
В таком случае (боже, что я говорю!) там должен быть Map а не свойства бина) Это лучше, чем рефлексия.
Lure Of Chaos 26.06.2010 10:57 # 0
Lure Of Chaos 25.06.2010 23:35 # −1
наверное. Но синтаксис, в частности, использование табов в качестве оформителей блоков, меня отвернул от него раз и навсегда еще на этапе изучения
Анонимус 26.06.2010 01:03 # 0
Так вот питон заставляет Вас их делать)
Webkill 26.06.2010 01:06 # −3
Анонимус 26.06.2010 01:11 # 0
2) >>сел и сходу начал писать"
Дада, F4 в фаре -- и вперед. На PHP так часто пишут
Webkill 26.06.2010 01:15 # −2
>> Дада, F4 в фаре -- и вперед. На PHP так часто пишут
А что такого - весь пойнт питона в этом - сел и начал сходу писать. Во всей идеологии и структуре это прослеживается (утиная типизация, "динамические" объекты, минимум ключевых слови т.д.) На продумывание и возню с редакторами/синтаксисом/мэйкфайлами всякие с++ придуманы...
Анонимус 26.06.2010 01:19 # +1
Поглядите на пайшарм, серьезно
Webkill 26.06.2010 01:26 # −3
В принципЕ, есть что-то схожее с явой -- она была сначала интерпретируемая и очень тормозная (особенно на машинах того времени), а сейчас скорость приближается к с++, но от статуса тормозной до сих пор никак не отмоется..
Анонимус 26.06.2010 01:27 # 0
щито?
Webkill 26.06.2010 01:29 # −3
А вы не знали? о_О До появления HotSpot'а не было джиттинга в натив, ява интерпретировалось байткодину за байткодиной. Прбиавьте сюда процессоры времён середины 90-ых - много fun'а
(пока грузится апплет явы, можно действительно заварить пару чашек кофе ))
Анонимус 26.06.2010 01:32 # 0
Я бы не стал называть этот процесс "интерпретацией".
Схема всегда была одна: код - > opcodes -> jvm.
Просто потом добавили JIT для скорости.
Но может быть я не владею терминологией, конечно
Webkill 26.06.2010 01:36 # −2
http://en.wikipedia.org/wiki/Interpreter_%28computing%29
Wеbkill 27.06.2010 10:11 # −2
И после этого ты не википедик??
Webkill 26.06.2010 01:38 # −2
Это ничего не говорящая схема, вопрос в том, как называть переходы от одного элемента к другому.
java-код -> opcodes -- это компиляция
opcodes -> jvm это интерпретация
В моно сначала тоже не было джиттера, и штука, которая запускала эксешник, называлась mint = mono interpreter.
Хм.
Анонимус 26.06.2010 01:40 # 0
В таком случае запуск .com файла тоже интерпретация)
Webkill 26.06.2010 01:44 # −3
Так и есть, цПУ это интерпретатор машинных команд... Просто слово "интерпретация" имеет широкое и узкое значения... Узкое значение проявляется в противопставлении "машинный код" ("компилируенмый" язык) vs "байткод" ("интерпретируемый язык/VM"). А широкое значение когда вообще любой код интерпретируется цпу, в том числе машинный x86...
Я так понимаю...
> В таком случае запуск .com файла тоже интерпретация)
на >WinXP это в любых смыслах явная интерпретация)
Анонимус 26.06.2010 01:48 # 0
2)причем тут xp?
какая разница -- работает процессов режиме real или "virtual 8086"?
Webkill 26.06.2010 01:53 # −4
В моём посте это значило "Отсутствие джиттинга", конец)
> причем тут xp?
ну так .com'ы во всех виндах после ХР эмулируются (т.е. интерпретируются) внутренней подсистемой недовиртуализации, винда хрен тебе даст прямиком в real лезть. Там инструкции именно что интерпретируются.
Или я ошибаюсь на этот счёт?
Webkill 26.06.2010 01:57 # −5
Анонимус 26.06.2010 02:14 # +2
читать Basic Architecture и System Programming Guide.
У проца есть режимы работы: real, protected, V86 (виртуальный 8080), еще всякие SMI и 32e, но это к делу не относится.
Винда при загрузке переключает процессор в protected (это делает чуть ли не NTLDR).
Обратно в реал его не вернуть -- тока перезагрузкой, да и не надо это.
Что бы выполнять 16ти разрядный код нужно переключить процессор в режим V86, который для программы выглядит как реал (с некоторыми ограничениями на IN/OUT и другие инструкции, так же ошибки приводят к исключениям (понятие защиненного режима)).
Для этого винда запускает ntvdm.exe, про которого можно почитать у Руссиновича
Webkill 26.06.2010 03:18 # −3
Wеbkill 26.06.2010 21:13 # −4
Они и в хп под виртуальной машиной выполняются.
Wеbkill 26.06.2010 21:24 # −3
Инструкции в WinXP выполняются в V86 режиме процессора. Обращение к портам ввода вывода генерят прерывание ошибки недостаточного уровня IOPL для обращения к порту, в котором обработчик решает, как данное обращение к порту переслать реальному виндовому драйверу устройства.
Webkill 26.06.2010 02:07 # −4
Анонимус 26.06.2010 18:10 # −1
:)))))
"Алиса, никогда не используй слова за то, что они длинные и красивые" (c)
Сопроцессор занимался плавающей точкой, и встроен в процессор со времен 486х.
Никакого специально "VM86 сопроцессора" не существует -- это тот же проц, просто переключенный в другой режим работы.
Wеbkill 26.06.2010 21:18 # −3
Википидорить научился?
Webkill 27.06.2010 00:30 # −4
Сам додумался, прикинь?
Wеbkill 27.06.2010 10:13 # 0
Вроде байткод интерпретируется.. А как ещё сказать?
http://en.wikipedia.org/wiki/Interpreter_%28computing%29
Прикинул.
Wеbkill 26.06.2010 21:19 # −3
Лять. Ну это вообще пиздец загнул.
Wеbkill 26.06.2010 21:17 # −4
Долбоёб. Это трансляция.
Webkill 27.06.2010 00:34 # −3
> Долбоёб. Это трансляция.
Компиляция и есть трансляция.
"Это яблоко." -- "Долбоёб, это фрукт!"
Wеbkill 26.06.2010 21:15 # −5
Анонимус 26.06.2010 21:43 # 0
))))для чего лучше?
Wеbkill 26.06.2010 21:47 # −5
Wеbkill 27.06.2010 10:14 # −3
Wеbkill 26.06.2010 21:14 # −5
Устарет ты чувак.
Анонимус 26.06.2010 21:43 # 0
Потом мне запретили юзать ворованный софт, я пожалел $20, и стал искать алтернативу. Пробовал notepad++, еще всякое -- все не то. В итоге поставил себе gvim, и понял что я дома)))
Все таки VI это прекрасно
Wеbkill 26.06.2010 21:48 # −4
Webkill 27.06.2010 00:36 # −3
А я в нотепаде++ до сих пор.
Lure Of Chaos 26.06.2010 11:00 # 0
Анонимус 26.06.2010 18:04 # 0
о, ужас! Вы из тех, кто вместо табов любит делать 4 пробела?
Табы лучше потому, что Вася может настроить редактор на ширину табов в 8 пробелов, а Маша -- на ширину табов в 2 пробела. В зависмости от их вкусов/мониторов/разрешения и зрения. Именно этим табы в тысячу раз лучше пробелов.
>>Да и скобки легче посчитать
В хорошей программе ничего считать не надо -- все и так видно. Если у Вас восемь уровней вложенности, или IF и ELSE разделяют 70 строк кода, или у Вас функция на 4 экрана -- Вам срочно нужно делать рефакторинг!
Если Вы видите "}" и не понимаете -- откуда она -- у Вас некрасивый код)
cfdev 26.06.2010 18:11 # +1
> Табы лучше потому, что Вася может настроить редактор на ширину табов в 8 пробелов, а Маша -- на ширину табов в 2 пробела. В зависмости от их вкусов/мониторов/разрешения и зрения.
Ага, и если исходник изначально отформатирован определённым образом, то у Маши он может отображаться вкривь и вкось.
Напр. если взять сишное:
у Пети отобразится нормально, а у Маши с её настроенными табами может всё поехать.
Именно этим пробелы в тысячу раз лучше табов (по крайней мере для си).
Анонимус 26.06.2010 18:12 # 0
cfdev 26.06.2010 18:16 # +1
Да, намного легче визуально воспринимтаь, где начинается блок, а где кончается -- в отличие от каши в явовском гайдлайне.
Анонимус 26.06.2010 18:19 # 0
на самом деле это вопрос код-стайла.
Я пишу на новой везде, кроме джавы (там так принято)
cfdev 26.06.2010 18:21 # +1
Ну коненчо, в чужий монастырь со своим уставом не лезут.
Однако реально скобка с новой строки выделяется среди прочего кода --и легче воспринимать что где (по крайней мере, мне -- неужели кто-то считает иначе?)
p.s. И рефакторить намного легче -- выделил весб блок и удалил/перенёс/закомментировал, а в яве нужно бороться вручную..
Анонимус 26.06.2010 18:26 # 0
Рефакторить нужно в нормальном IDE. Например в idea есть хоткеи для выделения блока по первой скобке, и хоткей для комментария и вынеса в функцию)
cfdev 26.06.2010 18:28 # +2
Не нужно прсто изначально придумывать себе проблемы ) Не спорю, что костылей напридумано несчетное количество наверное..
Анонимус 26.06.2010 18:53 # 0
А я всегда делаю так (и для сей тоже)
cfdev 26.06.2010 18:58 # +1
Это в определении функции.
Мой пример - по вызову. В си такое на каждом шагу (и вообще подобное форматирование). Например, взять CreateProcess. У неё дофига параметров - и правильный код должен каждый параметр прокомментировать. С табами всё превращается в кучу.
Анонимус 26.06.2010 19:00 # +1
cfdev 26.06.2010 19:15 # +2
Вот напр. пример на MSDN:
Как с "правильно названными параметрами" определить, что NULL в седьмой аргументе говорит о том, что субпроцесс наследует список переменных окружения, а NULL в первом - что нужно игнорировать первый аргумент и использовать второй?
Lure Of Chaos 26.06.2010 18:39 # +1
2, 4 это слишком много
cfdev 26.06.2010 18:49 # +2
Два - слишком мало. В моих косых глазах код начинает путаться.
Для хелловорлда можно и 2, но если имеется комманда, то нужно учитывать всех - т.е. юзать стандартное 4. Это не так много. В ядре линукса юзается 8 -- и даже оно не смотрится ужасно.
Анонимус 26.06.2010 18:54 # +1
Хоть 2 хоть 16 -- табы можно настраивать, как угодно)
Lure Of Chaos 26.06.2010 19:29 # +1
так что 2
cfdev 26.06.2010 19:33 # +2
> так что 2
В жабе принято иметь по два пробела?
Lure Of Chaos 26.06.2010 21:07 # 0
bugmenot 30.06.2010 01:57 # 0
Lure Of Chaos 30.06.2010 12:39 # 0
Wеbkill 25.06.2010 23:29 # −5
Анонимус 26.06.2010 01:05 # +6
Webkill 26.06.2010 01:08 # −1
Боюсь, закончится это баном и меня(
Wеbkill 26.06.2010 22:28 # −7
Wеbkill 26.06.2010 22:34 # −7
Vindicar 26.06.2010 01:37 # +10
Wеbkill 26.06.2010 22:25 # −3
Анонимус 26.06.2010 22:27 # +3
Это такой INT_MAX
Wеbkill 26.06.2010 22:34 # −6
Wеbkill 26.06.2010 22:35 # −6
This is obvious 27.06.2010 11:26 # +2
этого не случится, ага
Wеbkill 27.06.2010 21:52 # −3
Анонимус 26.06.2010 23:16 # −1
Wеbkill 28.06.2010 09:01 # −3