powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Хороший тон в программировании?
153 сообщений из 153, показаны все 7 страниц
Хороший тон в программировании?
    #39266646
LimsЯ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем добрый день, как то меня спросил преподаватель что считается хорошим тоном в программировании? как должен выглядеть красивый и читабельный код? недолго думая я ответил - что бы легко читался был локоничным и понятным всем кто его читает.
а как считаете вы?
если не сложно можете дать ссылку на статью где обсуждают данный вопрос) и если можно примеры которые по вашему мнение можно считать красивым кодом)))) очень любопытно что это такое красивый код и как его писать)))

Модератор: Тема перенесена из форума "C++".
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39266693
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иди на github.com и читай исходники. Годик хотя бы. Потом сам себе ответишь какие понятнее.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39266726
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LimsЯчто считается хорошим тоном в программировании?
без бутылки здесь не разобраться
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39266736
Фотография бухалтер фантоцци
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
goto же
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39266739
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LimsЯВсем добрый день, как то меня спросил преподаватель что считается хорошим тоном в программировании? как должен выглядеть красивый и читабельный код? недолго думая я ответил - что бы легко читался был локоничным и понятным всем кто его читает.
а как считаете вы?
если не сложно можете дать ссылку на статью где обсуждают данный вопрос) и если можно примеры которые по вашему мнение можно считать красивым кодом)))) очень любопытно что это такое красивый код и как его писать)))

Модератор: Тема перенесена из форума "C++".


понятие "красивый код" неформализуемо.

никто не сможет дать определение ему.

да и вообще, я бы сказал, что это -вредное понятие, код должен работать правильно, и быть читаемым и поддерживаемым, больше от него ничего не требуется.

и уж 100% нехорошо преподавателю задать такие вопросы, ну разве что с целью вызвать студента на какой-то диалог, дать повод к размышлению
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39266743
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как должен выглядеть красивый и читабельный код?


вообще, самый красивый код - это тот, что еще не написан. Он же - самый нечитаемый.

Самый читаемым код - helloworld , он же - самый бесполезный.

нормальный промышленный код вообще как правило накрасив и плохочитаемый. Зато он работает, он полезен.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39266796
Гхостик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гугли "code smell".
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39266800
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LimsЯчто считается хорошим тоном в программировании?Хорошая программа похожа на красивый дом.
В ней и фундамент /архитектура/ разумная и окна /функции/ красивые /не на перекосяк/ и поставлены в достаточном количестве и подходящем месте, ...

В программе " плохого тона" все наоборот /как вроде при построении дома строителям надели повязки на глаза/.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39266882
Красивый код - это код который помещается на одной визитной карточке :)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
    #include <stdlib.h>   // card > aek.ppm
    #include <stdio.h>
    #include <math.h>
    typedef int i;typedef float f;struct v{
    f x,y,z;v operator+(v r){return v(x+r.x
    ,y+r.y,z+r.z);}v operator*(f r){return
    v(x*r,y*r,z*r);}f operator%(v r){return
    x*r.x+y*r.y+z*r.z;}v(){}v operator^(v r
    ){return v(y*r.z-z*r.y,z*r.x-x*r.z,x*r.
    y-y*r.x);}v(f a,f b,f c){x=a;y=b;z=c;}v
    operator!(){return*this*(1/sqrt(*this%*
    this));}};i G[]={247570,280596,280600,
    249748,18578,18577,231184,16,16};f R(){
    return(f)rand()/RAND_MAX;}i T(v o,v d,f
    &t,v&n){t=1e9;i m=0;f p=-o.z/d.z;if(.01
    <p)t=p,n=v(0,0,1),m=1;for(i k=19;k--;)
    for(i j=9;j--;)if(G[j]&1<<k){v p=o+v(-k
    ,0,-j-4);f b=p%d,c=p%p-1,q=b*b-c;if(q>0
    ){f s=-b-sqrt(q);if(s<t&&s>.01)t=s,n=!(
    p+d*t),m=2;}}return m;}v S(v o,v d){f t
    ;v n;i m=T(o,d,t,n);if(!m)return v(.7,
    .6,1)*pow(1-d.z,4);v h=o+d*t,l=!(v(9+R(
    ),9+R(),16)+h*-1),r=d+n*(n%d*-2);f b=l%
    n;if(b<0||T(h,l,t,n))b=0;f p=pow(l%r*(b
    >0),99);if(m&1){h=h*.2;return((i)(ceil(
    h.x)+ceil(h.y))&1?v(3,1,1):v(3,3,3))*(b
    *.2+.1);}return v(p,p,p)+S(h,r)*.5;}i
    main(){printf("P6 512 512 255 ");v g=!v
    (-6,-16,0),a=!(v(0,0,1)^g)*.002,b=!(g^a
    )*.002,c=(a+b)*-256+g;for(i y=512;y--;)
    for(i x=512;x--;){v p(13,13,13);for(i r
    =64;r--;){v t=a*(R()-.5)*99+b*(R()-.5)*
    99;p=S(v(17,16,8)+t,!(t*-1+(a*(R()+x)+b
    *(y+R())+c)*16))*3.5+p;}printf("%c%c%c"
    ,(i)p.x,(i)p.y,(i)p.z);}}



с таким результатом
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39266887
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть отраслевые правила, типа Дейкстры.

Есть правила языка типа PEP8.

И есть корпоративные.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39266892
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv...
понятие "красивый код" неформализуемо.
никто не сможет дать определение ему.

+100 с ремаркой:

Пару месяцев назад вышел на пенсию русский программист Александр Степанов.
Сам он не использует слово "красивый" ни в качестве технического термина, ни в качестве оценочного.
Студенту, твердо определившемуся в том, что программирование - его профессия ( и не только студенту)
совсем не бесполезно было бы посмотреть пока лежащие на ютубе на канале A9 лекции.

Мне сейчас пришел в голову такой вариант определения красоты "по Степанову" (с которым, почти наверно, он сам не согласится в смысле применимости термина "красота" применительно к коду):
Чужой код красивый, когда изучая его ты понимаешь, что сам код на ту же тему выписал бы строго идентично,
неотличимо точка в точу, вплоть до расстановки отступов.
Идентичность кода двух программистов здесь рассматривается как высшая мера его "красоты".

MasterZivда и вообще, я бы сказал, что это -вредное понятие, код должен работать правильно, и быть читаемым и поддерживаемым, больше от него ничего не требуется.


+100500 в том месте, в каком человек приходит на форум и спрашивает - как мне нарисовать краксивый код.

Но в смысле ремарки выше, как личная оценка, смысл которой состоит в том, что "если бы писал я, то несомненно сделал бы неотличимо точно также", "красивый" может быть использован как личная медаль, вручаемая одним программистом другому.

MasterZivи уж 100% нехорошо преподавателю задать такие вопросы, ну разве что с целью вызвать студента на какой-то диалог, дать повод к размышлению
В последнем смысле - очень хорошо, как минимум приемлемо. Как элемент постановки мозгов будущего ремесленника.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39266902
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
красивый по словарю

учитывая что 1 и 3-ее значения относятся строго к внешнему виду, думаю они тут не применимы (ну не знаю... можно попробовать команды в виде солнышка расположить, тогда он будет внешне красив, но не думаю что кто-то такой "красоте" будет рад)

касательно же "2. Отличающийся полнотой и глубиной внутреннего содержания.". Ну вот.... Как по мне очень хорошо применимо к коду.
Красивый код - это код, отличающийся своей полнотой и глубиной внутреннего содержания.

То есть тот код, который более полно и глубоко решает возложенную на него задачу (к которому не прилагается 20 страниц пояснений, что надо сделать, что бы этот код решил поставленную задачу... как его надо настроить и подготовить, и какие ситуации надо обработать вручную, потому что этот код такого не делает)
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39266905
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я хз,

Недавно, в целях оптимизации, мой код отдали на наладку другому человеку.

В итоге, про*павшись 2 недели, он переписал 50 строк моего кода на свой, мотивируя "не разобрался".

Глядя на его код, который мне прислали на проверку, и который втрое длиннее при той же парадигме конечного автомата, я в задумчивости. Который код красивее - тот, что ты написал, или который понятен всем?
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39266906
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargl... Который код красивее - тот, что ты написал, или который понятен всем?

Вот в точности строго на эту тему пятая лекция в серии Беседы о программировании.
Где Шон Пэрент рассказывает о своем опыте работы в течении нескольких дней в качестве
ревизора кода в компании Google ( 1я часть лекции 6я минута и далее)

YouTube Video
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39266912
uid unique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LimsЯ,

написан в принятом для данного языка стиле (для С, С# и Java они разные хотя синтаксически языки в одной группе), понятный без документации (имена методов и переменных), структурированный (можно расширять функционал меняя отдельные части/модули/методы а не монолит в виде путанного спагетти).

Патчи должны легко читаться (для этого нужны пустые строки и изменения только тех частей которые относятся к заданию), для облегчения code review. Выражаю неодобрение тем в одной группе со мной кто коммитит косметические изменения и функционал втихую приплетает... ;-)
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39266918
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SiemarglНедавно, в целях оптимизации, мой код отдали на наладку другому человеку.

В итоге, про*павшись 2 недели, он переписал 50 строк моего кода на свой, мотивируя "не разобрался".

Я думаю что он был отчасти прав. Для корпоративной разработки очень важна свободная циркуляция
кода между всеми участниками команды. Если где-то есть затык - кто-то был очень гениален и написал
умный но непонятный код - то этот гениальный код следует уничтожить для сохранения возможности
командной работы. Можно конечно провести внутренние семинары и скрамы на тему понимания
сложного фрагментано КМК любой тим-лид выберет вариант с переписыванием.

Грубо говоря - хороший код - это код понятный команде.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39266921
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код следует писать руководствуясь правилом ясности: "Ясность лучше чем мастерство"

"Поскольку обслуживание является важным и дорогостоящим, следует писать такие программы, как если бы обмен наиболее важной информацией, осуществляемый программой, был связан не с компьютером, выполняющим данную программу, а с людьми, которые будут читать и поддерживать исходный код в будущем (включая и самого создателя программы)."

Эрик Реймонд, Искусство программирования для UNIX
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39266942
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Ты говоришь о "красоте", как о единстве стиля.
Что я не вижу способа опровергать.

Но ты прими в расчет, что данное поэтом знание о том, что
"Мысль изреченная есть ложь" - не является открытием Тютчева Федора Ивановича,
а именно в таком виде и известно всем народам мира, которые хоть на каком-нибудь, любом и каждом, языке пытались выражать мысли словами.
Лао Цзы сформулировал ее так: Высказанная вслух истина перестаёт быть таковой, ибо уже утратила первичную связь с моментом истинности.


я так думаю - нельзя предугадать - был "прав" коллега, "налаживающий" код от Siemargl, или нет.

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

Переформулированное Львом Толстым не стремление к полезности в недеяние
прямо относится к скраму - не надо делать скрам, стремиться к нему и "внедрять".

Устойчивая команда сама, без применения скрама, немедленно и автоматически отторгнет
чужака с иными стилистическими представлениями о красоте кода, как немедленно и автоматически отторгла Шона Пэрента из Гугла, сразу после демонстрации им своих представлений о том, что такое с его точки зрения хороший код.

Единство стиля есть несомненное свидетельство того, что команда сформирована, но не свидетельством собственно совершенства и качества кода в ней.

А история Шона Пэрента, в свете вышесказанного, может быть вообще изложена как история ложной деятельности - бессмысленности позиции ревизора кода от слова совсем .
Т.к. результат его деятельности принимается только, если заключается в тщательном охранении уже сформированного стиля, а любая попытка его усовершенствования будет отторгнута как неприемлемая.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39266960
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uid unique... Выражаю неодобрение тем в одной группе со мной кто коммитит косметические изменения и функционал втихую приплетает... ;-)

Если вы тестировщик - ваше неодобрение не требует объяснений.

Если вы администратор, то медаль рисуется как-то так:
На одной стороне будут изображены инструменты, используемые для пресечения такой
деятельности. В случае, например, когда это ломает интерфейсы межмодульного
взаимодействия буквально или в смысле ожидаемого поведения компонента.

На другой стороне попробуйте разглядеть следующее - риски естественной смерти вашей системы от дыхательной недостаточности, имхо, серьезно повышаются, если такая деятельность будет пресечена полностью.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39267014
mikron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonSiemarglНедавно, в целях оптимизации, мой код отдали на наладку другому человеку.

В итоге, про*павшись 2 недели, он переписал 50 строк моего кода на свой, мотивируя "не разобрался".

Я думаю что он был отчасти прав. Для корпоративной разработки очень важна свободная циркуляция
кода между всеми участниками команды. Если где-то есть затык - кто-то был очень гениален и написал
умный но непонятный код - то этот гениальный код следует уничтожить для сохранения возможности
командной работы. Можно конечно провести внутренние семинары и скрамы на тему понимания
сложного фрагментано КМК любой тим-лид выберет вариант с переписыванием.

Грубо говоря - хороший код - это код понятный команде.

IMHO, если думать до конца то очень "вредная" позиция: если нивелировать работу команды разработчиков этим принципом то производимый код станет на уровне самого слабого игрока команды. Если ещё включить в рассмотрение что и команда со временем меняется и обычно, когда код уходит из стадии активной разработки в поддержку, на смену приходит более слабая команда, то надо сразу ориентироваться на "потенциального" слабейшего участника команды. Таким образом, руководствуясь этим принципом вы сведёте работу хороших и высокооплачиваемых специалистов до уровня студентов. Я почти уверен, специалисты быстро сбегут или соберут деньги и сбегут с поддержки. Следующий аспект: от студенческого кода не следует ожидать высокой эффективности. В итоге вы получите: дорогой код, который может поддерживать даже студент, и "слабый" продукт, которым часто недовольны потребители и который не конкурентноспособен. (дорогой продукт за много денег).
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39267035
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargl, тут... мы все рассуждаем о коде которого никто не видел.

Ты мог-бы привести эти загадочные 50 строк и их рефакторинг?
Разумеется ... предварительно убрав оттуда бизнес-сведения, имена e.t.c.

Я думаю что после этого мнения аудитории несколько поменяются.

Спасибо.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39267048
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

А ты читаешь релейную логику? =)
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39267050
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
(пожимает плечами)

Не знаю. Но аудитория среагировала мгновенно. И заметьте - безо всяких
предварительных сведений о специфике вашей предметной области.

Вот я и заинтересовался первоисточником.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39267120
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LimsЯВсем добрый день, как то меня спросил преподаватель что считается хорошим тоном в программировании? как должен выглядеть красивый и читабельный код? недолго думая я ответил - что бы легко читался был локоничным и понятным всем кто его читает.
Вспомнилось:

"Что важнее, форма или содержание?" (ц)
"Вам шашечки или ехать?" (ц)
"На вкус и цвет товарищей нет." (ц)
"О вкусах не спорят." (ц)
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39267514
uid unique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonSiemarglНедавно, в целях оптимизации, мой код отдали на наладку другому человеку.

В итоге, про*павшись 2 недели, он переписал 50 строк моего кода на свой, мотивируя "не разобрался".

Я думаю что он был отчасти прав. Для корпоративной разработки очень важна свободная циркуляция
кода между всеми участниками команды. Если где-то есть затык - кто-то был очень гениален и написал
умный но непонятный код - то этот гениальный код следует уничтожить для сохранения возможности
командной работы. Можно конечно провести внутренние семинары и скрамы на тему понимания
сложного фрагментано КМК любой тим-лид выберет вариант с переписыванием.

Грубо говоря - хороший код - это код понятный команде.
Плюсую... стандартизация и возможность понять код новичку на проекте (и автору кода через полгода) важнее сжатия исходников. даже стилистика должна сохраняться, у непонятного кода скорее всего и стиль совершенно другой.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39267524
Фотография alex;
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LimsЯ,

тут чувак написал ответ на 893 страницы ))
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39267526
Фотография alex;
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LimsЯ,

тут чувак написал ответ на 893 страницы ))
http://www.proklondike.com/books/codingproch/steve_mcconnell_code_complete.html
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39267528
uid unique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boobyuid unique... Выражаю неодобрение тем в одной группе со мной кто коммитит косметические изменения и функционал втихую приплетает... ;-)

Если вы тестировщик - ваше неодобрение не требует объяснений.

Если вы администратор, то медаль рисуется как-то так:
На одной стороне будут изображены инструменты, используемые для пресечения такой
деятельности. В случае, например, когда это ломает интерфейсы межмодульного
взаимодействия буквально или в смысле ожидаемого поведения компонента.

За межмодули втихую смерть через мабуту вернее сначала смерть а потом мабуту ;-) В случае конечно если интерфейсы внешние и теребуют согласования с другими командами (используются).

чешутся руки поменять отступы и переименовать переменные?
Обсуди что примерно будет делаться с командой, почему приспичило и выбери момент (выходные?) когда нет работ по изменению функционала, коммит с косметикой идет отдельно от прочих функциональных изменений.

Часто бывало так что багфикс затянулся а смержить его нереально потому что перед ним уже залит косметический коммит с кучей переименований, форматирования и тд и из этого море конфликтов и если внутри этого косметическог фикса еще и пара нужных изменений в функционале... Дорого это обходится. Не на начальном этате проекта конечно.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39267587
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uid unique,
Java?
Я всегда знал, что java людей корежит.
Они автоматически приобретают чувство собственной божественной полноценности и непогрешимости.
Сразу после нарисания первого хелло ворлд.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39267591
Фотография fixxer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uid uniqueчешутся руки поменять отступы и переименовать переменные?
Обсуди что примерно будет делаться с командой, почему приспичило и выбери момент (выходные?) когда нет работ по изменению функционала, коммит с косметикой идет отдельно от прочих функциональных изменений.

Часто бывало так что багфикс затянулся а смержить его нереально потому что перед ним уже залит косметический коммит с кучей переименований, форматирования и тд и из этого море конфликтов и если внутри этого косметическог фикса еще и пара нужных изменений в функционале... Дорого это обходится. Не на начальном этате проекта конечно.

Увидел говно - поправь сразу и закомить. Не надо никого ждать. Если другая команда интегрируется в мастер раз в неделю то они ССЗБ. Чай руки не отсохнут ребейснуться хотябы раз в день.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39267603
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fixxerУвидел говно - поправь сразу и закомить. Не надо никого ждать. Если другая команда интегрируется в мастер раз в неделю то они ССЗБ. Чай руки не отсохнут ребейснуться хотябы раз в день.
Увидел говно. Поправил. Передал тестеру. Получил его назад. Еще раз поправил. Еще раз
передал тестеру. Еще раз получил его назад....
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39267637
Иммануил Кант
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boobyuid unique,
Java?
Я всегда знал, что java людей корежит.
Они автоматически приобретают чувство собственной божественной полноценности и непогрешимости.
Сразу после нарисания первого хелло ворлд.

а что в ней (Jave)/в них (джавистах) особенного?
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39267664
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иммануил Канта что в ней (Jave)/в них (джавистах) особенного?
Согласно рейтингам tiobe это самый искомый хештег.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39268100
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby Чужой код красивый, когда изучая его ты понимаешь, что сам код на ту же тему выписал бы строго идентично
Я вот только что разгребал код на Cи, автор которого был не в курсе существования функции memset(), зато, когда потребовалось обработать однотипные данные из двух источников, не поленился скопипастить триста строк кода вместо того, чтобы union-ом объединить данные двух sql-запросов.

И я абсолютно уверен, что найдётся чувак, который код на ту же тему выписал бы строго идентично
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39268280
Иммануил Кант
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerкод на Cи, автор которого был не в курсе существования функции memset()
softwarerскопипастить триста строк кода вместо того, чтобы union-ом объединить данные двух sql-запросов
как-то верится с трудом
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39268321
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иммануил Канткак-то верится с трудом
Ничего страшного. Главное, что ключевая фраза -

softwarerИ я абсолютно уверен, что найдётся чувак, который код на ту же тему выписал бы строго идентично
сомнений не вызывает.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39268334
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerЯ вот только что разгребал код на Cи, автор которого был не в курсе существования функции memset(), зато, когда потребовалось обработать однотипные данные из двух источников, не поленился скопипастить триста строк кода вместо того, чтобы union-ом объединить данные двух sql-запросов.
код на С и union из SQL это соседние галактики. Автор мог просто не знать про union.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39268338
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima Tкод на С и union из SQL это соседние галактики. Автор мог просто не знать про union.
По факту - знал. Также этот момент и средствами C имеет сколько угодно более удачных решений. Но вопрос, если вспомните, вообще не об этом, а о красоте получившегося кода. Вот глядя в него, прямо хочется развести руками и сказать: "Кра-со-та!"
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39268343
Иммануил Кант
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerDima Tкод на С и union из SQL это соседние галактики. Автор мог просто не знать про union.
По факту - знал. Также этот момент и средствами C имеет сколько угодно более удачных решений. Но вопрос, если вспомните, вообще не об этом, а о красоте получившегося кода. Вот глядя в него, прямо хочется развести руками и сказать: "Кра-со-та!"

из пальца высосано:
- не может человек кодить на Си и не знать memset
- и не знать про union в sql (хотя там иногда бывают разные варианты "лучше")

а "скопипастить триста строк кода" - это был "запущенный совсем" копипаст, когда куски немного отличаются, но трогать их уже лучше не стоит?
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39268405
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иммануил Кант- не может человек кодить на Си и не знать memset
(пожимая плечами) Хорошо. Объективно говоря, я не знаю, знал он про него или нет. Что я могу утверждать - что он не использовал его в ситуациях, где тот прямо напрашивался. Во втором случае - аналогично.

Меня, честно говоря, убивает не то, что он не знал - это, в конце концов, с каждым может случиться. Меня убивает то, что он не написал никакого аналога, ни функции, ни макроса, а старательно руками обнулял всё поотдельности.

Иммануил Канта "скопипастить триста строк кода" - это был "запущенный совсем" копипаст, когда куски немного отличаются, но трогать их уже лучше не стоит?
Примерно. Смысл этого кода в заполнении некоторой многоуровневой структуры с индексами для быстрого поиска, куски отличаются запросами, именами полей в запросах и тем, что некоторые поля структуры используются только в каком-либо одном из случаев.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39268427
uid unique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fixxerУвидел говно - поправь сразу и закомить. Не надо никого ждать. Если другая команда интегрируется в мастер раз в неделю то они ССЗБ. Чай руки не отсохнут ребейснуться хотябы раз в день.
Зависит от правил на контретном месте и проекте. Иногда коммиты не идут без ревью, бывает и такое. Изменения, не относящиеся к заданию, запрещены. А бывает полная свобода.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39268429
uid unique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boobyuid unique,
Java?
Я всегда знал, что java людей корежит.
Они автоматически приобретают чувство собственной божественной полноценности и непогрешимости.
Сразу после нарисания первого хелло ворлд.
Сейчас начнется срач.

Не понимаю откуда столько пафоса по поводу Java на этом сайте - неоднократо читаю бухтение про Java. Ладно бы реалтайм системы или функциональное программирование упомянули или распределенное, но про кондовую, простую как АК47 Java бухтеть... да она простая как палка в освоении и надежная - дайте мне не полного идиота и через полгода он будет синиором на Java (если не прибью раньше так как учитель я плохой). К сожалению или к радости но ее время уходит в том виде в каком ее знали последние неполные 20 лет.

Java язык со своими проблемами и недоделками (и достаточно проблемными библиотеками особено в мильтимедиа), просто сейчас это направление популярно.

Были у меня C, C++, J++, C#, Objective C, Java - по крайней мере один проект на каждом из этих С подобных (синтаксис) языков у меня был у реальных заказчиков или пришлось по просьбе заказчика вьезжать и делать. Ничего сверхестественного, хотя как программист я середнячок ремесленник.
Был даже не так давно хардкор на сильно усеченном ANSI C. Примерно десяток языков так или иначе попробовал в проектах на работе или дома (хобби). Питон вот пришлось немного освоить (не фанат скриптовых языков).

Basic 6.0, .NET Basic это тоже было мимоходом в прошлом но меня корежит синтаксис, увы... к Бейсику со школьных лет аллергия (от преподавателя передалась).
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39268675
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby,
Степанов - тот еще талант в смысле красивого кода и дизайна. Самое что ни на есть уродливое решение проползло в стандарт c++ из-за него, и прижилось ....

зато работает...
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39268678
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SiemarglЯ хз,

Недавно, в целях оптимизации, мой код отдали на наладку другому человеку.

В итоге, про*павшись 2 недели, он переписал 50 строк моего кода на свой, мотивируя "не разобрался".

Глядя на его код, который мне прислали на проверку, и который втрое длиннее при той же парадигме конечного автомата, я в задумчивости. Который код красивее - тот, что ты написал, или который понятен всем?


однозначно, первый!
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39268745
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uid uniqueК сожалению или к радости но ее время уходит в том виде в каком ее знали последние неполные 20 лет.

Не забывайте писать IMHO, когда публикуете своё мнение или просто непроверенные сведения.

Если "ее" время куда-то уходит - то должны быть признаки. Вы можете указать хотя-бы 2-3 признака
уходящего времени для Java?
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39269150
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonЕсли "ее" время куда-то уходит - то должны быть признаки. Вы можете указать хотя-бы 2-3 признака
уходящего времени для Java?
Сойдет за признак? ))
Oracle прекратила разработку Java EE?
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39269166
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovsky Oracle прекратила разработку Java EE? JEE не является часть "Core Java" - это каркас (framework) построения компонентных приложений.
Есть более молодые и удачные замены, так что всё логично - "мавр сделал своё дело ...".

P.S. Надеюсь, вы не станете утверждать, что наличие boost указывает на "уход це-с-крестами"?
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39269173
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly MoskovskymaytonЕсли "ее" время куда-то уходит - то должны быть признаки. Вы можете указать хотя-бы 2-3 признака
уходящего времени для Java?
Сойдет за признак? ))
Oracle прекратила разработку Java EE?
Дак это совсем не про то. Ты почитай что такое Java Language и Java EE.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39269175
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovAnatoly Moskovsky Oracle прекратила разработку Java EE? JEE не является часть "Core Java" - это каркас (framework) построения компонентных приложений.
Есть более молодые и удачные замены, так что всё логично - "мавр сделал своё дело ...".

P.S. Надеюсь, вы не станете утверждать, что наличие boost указывает на "уход це-с-крестами"?
Boost не заменяет стандартную библиотеку, а наоборот расширяет ее, и из него туда обратно заимствуются новшества.
Т.е. это неудачный пример замены.

А молодые и удачные замены Java EE это хорошо, но если кто-то завязан на Java EE то при прекращении саппорта этой технологии разработчиком джавы, они наверняка задумаются о рисках после этого для самой джавы.

Так что признаки-то есть. Хотя вы конечно можете делать вид что все ок, и Оракл не имеет тенденцию к убийству купленных технологий ))
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39269176
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonТы почитай что такое Java Language и Java EE.
Спасибо, я знаю в чем разница ))
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39269206
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly MoskovskyТак что признаки-то есть. Хотя вы конечно можете делать вид что все ок, и Оракл не имеет тенденцию к убийству купленных технологий ))

Тут Delphi-то закопать не могут, а Вы про Java.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39269215
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly MoskovskyА молодые и удачные замены Java EE это хорошо, но если кто-то завязан на Java EE то при прекращении саппорта этой технологии разработчиком джавы, они наверняка задумаются о рисках после этого для самой джавы"Смешались в кучу кони, люди ..."
Стагнация JEE не вчера началась и те, кому это критично - смигрировали.
Те, кто не смигрировал - останутся на Java 5/6/7, пока останется железо, на котором они будут работать, и люди, которые в состоянии поддерживать устаревший код. Т.е. ситуация ничем не отличается от любого другого языка. Возможно, что даже лучше.

"Риски для неё самой" - вообще не в кассу, т.к. технологии Java имеют ключевые отличия от технологий C/C++.
Есть три кита:
1. JVM (и сопутствующая ему JMM) - колышет только узкий круг разработчиков этих самых ява-машин. Даже самый квалифицированный ява-программист (будь он хоть семи архитекторов во лбу) не должен погружаться в детали и тонкости;
2. JLS - колышет только разработчиков компиляторов, которых, по большому счёту ровно две штуки. Причём второй совместим с первым на самом высоком уровне;
3. Core Java - то самое JRE с которым все работают и которого всем не хватает.

Всё - дальше пошли разнообразные расширения, включая технический (маркетинговый) булшит и проверенный временем олдскул.

Кроме того, ява-компилятор это фронт-энд, который генерирует (только) промежуточное представление. За компоновку (линковку) и загрузку которого отвечает исключительно JVM при минимальном участии Core Java.
Технически это реализуется тем, что JVM экспортирует точки входа, которые используются как нативные функции в ява-коде.
Практически выражается в том, что нельзя взять рантайм (rt.jar) Oracle HotSpot и подсунуть его, например, IBM J9 или даже другой версии того же HotSpot. Но, поскольку собирать JDK/JRE требуется только самым отъявленным - никого это не волнует: используют готовый и законченный продукт.

Таким образом, в отличие от C/C++ нет проблем "как скомпилировать, как слинковать, какой toolset использовать" и т.п.
При этом у "контролирующего разработчика" есть возможность много чего перелопатить в потрохах и при этом не сломать обратную совместимость. Не стопроцентно, но в подавляющем большинстве случаев.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39269227
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovСтагнация JEE не вчера началась и те, кому это критично - смигрировали.
Скажите это секте свидетеле ЕЕ
https://javaee-guardians.io/
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39269233
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly MoskovskyСкажите это секте свидетеле ЕЕ
https://javaee-guardians.io/ Человека, который читал петиции в защиту OS/2 сложно удивить неадекватами.

P.S. Нет, OS/2 - хорошая система. Но её время - прошло. Увы.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39269304
uid unique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TsoftwarerЯ вот только что разгребал код на Cи, автор которого был не в курсе существования функции memset(), зато, когда потребовалось обработать однотипные данные из двух источников, не поленился скопипастить триста строк кода вместо того, чтобы union-ом объединить данные двух sql-запросов.
код на С и union из SQL это соседние галактики. Автор мог просто не знать про union.
Или код писался под допотопную базу (маловероятно но кто знает что там было может какая кастрированая МS SQL Compact а потом перевели на другую базу). Ручками сливать результаты можно в один, приходилось как делать юнион руками но это была не база а удаленный поиск по http. Если подумать, в самой базе юнион тоже кто то написал...
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39269309
uid unique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonuid uniqueК сожалению или к радости но ее время уходит в том виде в каком ее знали последние неполные 20 лет.

Не забывайте писать IMHO, когда публикуете своё мнение или просто непроверенные сведения.

Если "ее" время куда-то уходит - то должны быть признаки. Вы можете указать хотя-бы 2-3 признака
уходящего времени для Java?
Читаем фразу до конца -

К сожалению или к радости но ее время уходит в том виде в каком ее знали последние неполные 20 лет.

Все что пишу без ссылок на ресурсы, подразумевает IMHO. Сравните Java 1,2,3,4,5,6,7 и последние 8,9 - ничего в глаза не бросается нового? Не удивлюсь если 10 Java трансмутирует еще сильнее.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39269316
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ничего мне в глаза не бросается. Ничего нигде не трансмутирует.
Ни языку ни технологии ничего не грозит ближайший десяток лет.
И учитывая плотное "сидение" платформы Android на java-подобных
грамматиках ЯП - ему тем более не грозит утекание целого сегмента
разработки. Больше там ни на чем не пишут.

Я-бы мог предъявить самой JVM недостаточную поддержку современных
наборов команд CPU. Но к сожалению я сам не смог написать бенчмарка
который-бы показал явную необходимость в этом. По сути на некоторых
тестах где есть интенсивные расчёты JVM на десяток % отстаёт от gcc
и идёт вровень с C#.

И этот форум - тому свидетель.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39269332
Фотография бухалтер фантоцци
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schiКод следует писать руководствуясь правилом ясности: "Ясность лучше чем мастерство"

"Поскольку обслуживание является важным и дорогостоящим, следует писать такие программы, как если бы обмен наиболее важной информацией, осуществляемый программой, был связан не с компьютером, выполняющим данную программу, а с людьми, которые будут читать и поддерживать исходный код в будущем (включая и самого создателя программы)."

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

Когда были написаны процитированные слова, наблюдался быстрый рост производительности.

Рост вычислительных мощностей уже давно упирается в физические пределы.
Если бездумно следовать этому правилу далее, мы получим домохозяек, которые пишут код, эффективность которого ну никак не может быть высока,
и никакие модные маркетинговые термины типа "промышленный код", никакие модные аббревиатуры не способны решить вопрос,
зато вопрос могут решить квалифицированные опытные программисты, но оставив для других возможность конфигурировать :)
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39269340
Фотография бухалтер фантоцци
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
P.S.
Многих современных работающих программистов можно вполне назвать "домохозяйками" - по сравнению с опытными специалистами их уровень таким и является,
что не мешает им работать годами и создавать свои "шедевры", рассуждать о правильных подходах и технологиях и т.д.

имхо мы уже имеем ненормальную ситуацию, когда:
- обычный сайт забирает все ресурсы персонального компьютера,
- для какой-то мелочи нужно обновить ОС или целый комплекс ПО,
- уровень синтаксических абстрацкий вырос непомерно и больше вредит, чем помогает,
- изучение конкретного инструмента или среды является более важным, чем знание технологий (далее специалист зависим от инструмента),
- и т.д.

Всё это следствия уменьшения порога вхождения и написания "понятного" кода.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39269360
Alexander A. SakAnatoly MoskovskyТак что признаки-то есть. Хотя вы конечно можете делать вид что все ок, и Оракл не имеет тенденцию к убийству купленных технологий ))

Тут Delphi-то закопать не могут, а Вы про Java.

Delphi сидит плотно в двадцатке tiobe, и никуда уходить не собирается.
Даже отвоевывает позиции последние годы: http://www.tiobe.com/tiobe_index?page=Delphi/Object Pascal


Даже всяким нарекламированным go, rust, erlang - до Delphi еще ползти и ползти.

А Java вполне имеет шанс помереть - Swift довольно интенсивно тянут в мир Android (Java c ее непредсказуемо лагающим GC - не лучший выбор для носимой электроники и realtime, ARC там получше будет).

И останется ей только удел Enterprise, где она и будет жить вечно, вместе с Cobol, C#, Delphi тем-же...
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39269361
LimsЯВсем добрый день, как то меня спросил преподаватель что считается хорошим тоном в программировании? как должен выглядеть красивый и читабельный код? недолго думая я ответил - что бы легко читался был локоничным и понятным всем кто его читает.
а как считаете вы?
если не сложно можете дать ссылку на статью где обсуждают данный вопрос) и если можно примеры которые по вашему мнение можно считать красивым кодом)))) очень любопытно что это такое красивый код и как его писать)))

Модератор: Тема перенесена из форума "C++".


как тут уже сказали неоднократно - хорошим тоном является умение подражать себе подобным.
так тебя будут любить и не считать маргиналом, и не будут подвергать обструкции - изгнании из стаи себе подобных..

а иначе как понимать этот самый тон?

причем подражать можно абсолютно любой, даже предельно идиотской ерунде, вроде фрагменту подобного вполне реального кода на Java в конструкторе КАЖДОГО класса приложения, просто потому что местной группой так принято делать:

Код: java
1.
   Logger logger = (Logger) LoggerFactory().getLoggingInstance(LoggingEntity(getClass()), FacilityObserver(Logger.CONSOLE_LOGGING_DOMAIN));
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39269365
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вы все про Delphi?Delphi сидит плотно в двадцатке tiobe, и никуда уходить не собирается
Если составить рейтинг популярности политиков, то его возглавят давно умершие личности
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39269417
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вы все про Delphi?А Java вполне имеет шанс помереть - Swift довольно интенсивно тянут в мир Android (Java c ее непредсказуемо лагающим GC - не лучший выбор для носимой электроники и realtime, ARC там получше будет).

И останется ей только удел Enterprise, где она и будет жить вечно, вместе с Cobol, C#, Delphi тем-же...
Я регулярно бываю на Java семинарах и конфах. И ничего подобного про Swift там не звучит.

Удел Enteprise не просто остается. Он и есть сейчас.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39269465
maytonвы все про Delphi?А Java вполне имеет шанс помереть - Swift довольно интенсивно тянут в мир Android (Java c ее непредсказуемо лагающим GC - не лучший выбор для носимой электроники и realtime, ARC там получше будет).

И останется ей только удел Enterprise, где она и будет жить вечно, вместе с Cobol, C#, Delphi тем-же...
Я регулярно бываю на Java семинарах и конфах. И ничего подобного про Swift там не звучит.
Было бы странно, если бы про Swift там вообще хоть что-то говорили.
Это-же прямой конкурент.

Но можно расслабиться, Swift сам по себе это конь в вакууме, красивый, но без сугубо Mac/iOS потрохов в виде библиотек - на текущий бесполезный. А нормальных кросплатформенных библиотек там не будет еще оооочень долго, как и в мире go, rust и прочем типа новомодном.

maytonУдел Enteprise не просто остается. Он и есть сейчас.
К сожалению да, современный мир корпоративного софта вот так вот извратился - оказалось, что Java это лучший из худших языков для клепания быстрой и неразваливающейся сразу наколенки для одного единственного заказчика.
Причем лучший исходя из критерия доступности на рынке кодеров, и нетребовательности к качеству работы оных - дескать все дурако-защищенное by Design, хоть как-то работать будет. Т.е. исходя из нефункциональных требований.

Ибо от Java до Bussiness Domain Specific Language с ее чудными, просто феерическими Spring, Struts и даже относительно удачными Hibernate - так-же далека как Земля от Солнца.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39269469
Anatoly Moskovskyвы все про Delphi?Delphi сидит плотно в двадцатке tiobe, и никуда уходить не собирается
Если составить рейтинг популярности политиков, то его возглавят давно умершие личности

Да неужели? PL/1 был весьма и весьма популярен в свое время. Попробуй его найти в рейтинге Tiobe.
А так да, там все по принципу "вы все врети" (с). Ну как может быть C (даже не C++) на первом и втором месте?

Этого конечно не может быть, ведь никто из моих знакомых Java программистов на C не пишет, верно?

Ну... исключая конечно того факта, что если посчитать число строк кода, которые написаны и скомпилированы для конкретного твоего карманного телефона на Android - то окажется, внезапно, что именно C кода там примерно 60-70%... этих самых строк кода :)
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39269516
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вы все про Delphi?Но можно расслабиться, Swift сам по себе это конь в вакууме, красивый, но без сугубо Mac/iOS потрохов в виде библиотек - на текущий бесполезный. А нормальных кросплатформенных библиотек там не будет еще оооочень долго, как и в мире go, rust и прочем типа новомодном.
Ну слава богу... А то я уж думал - началась революция...
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39269561
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вы все про Delphi?К сожалению да, современный мир корпоративного софта вот так вот извратился - оказалось, что Java это лучший из худших языков для клепания быстрой и неразваливающейся сразу наколенки для одного единственного заказчика.
Причем лучший исходя из критерия доступности на рынке кодеров, и нетребовательности к качеству работы оных - дескать все дурако-защищенное by Design, хоть как-то работать будет. Т.е. исходя из нефункциональных требований.
Давай закроем глаза и вернёмся в далекий 1996-97 год. Рынок серверного ПО. Эпоха доткомов.
Кластеризации нет. Облаков нет. Есть просто сайты. Есть сайты для бизнеса. Магазины.
На чем кодят? Perl (о святые небеса!). PHP (классика йопта!). ASP(Basic для Microsoft-IIS).
И ходят слухи что Yahoo использует Lisp. Где-то сбоку еще стоит bash и всякая экзотика
которая работает только в олдскульных учебниках по Unix. И есть нишевые сервера
и системы под ключ со своими языками и dbms типа Intersystems Cache, комьюнити
которых ничтожно мало.

А на сях серверное (CGI) ПО не кодят. (Здесь я могу ошибаться но мне лично не известно
о таком опыте либо его С++ доля в общем рынке весьма мала). У разработчиков класса
двухзвенка есть все. А у веб-разработчиков высокой квалификации и со знанием архитектуры
и с пониманием того что необходимо создавать повторно-используемое ПО на руках ничего нет.
Perl или PHP позволяют быстро создать "хомяк" или "визитку" но не годятся для серезных
сайтов. А разработчику нужно много интеграции. По сути бизнес-порталы это сетка взаимодействия
огромного количества сервисов. И нужно их как-то дружить. Трансферить сущности. Нужна даже
не крослатформенность. Об этом речи пока нет. Нужна гетерогенность и инероперабельность.
Появление собственно Java-исполняющей среды не было шумным. Собственно Java первых
версий была "гадким утёнком". У нее была плохая мультипоточность и плохой GC. Но было
комьюнити которое ощущало ПОТРЕБНОСТЬ в подобном слое продуктов и это комьюнити
готово было использовать Java на server-side даже в том виде в котором есть. Есть возможности
ООП. К слову комьюнити всё время испытвает конкуренцию со стороны MS (вспомним Microsoft J++)
и отток специалистов. И сегодняшний рейтинг в 20% по метрикам Tiobe это следствие
того что комьюнити существует. И его влияние сильнО. И я-бы не стал натягивать такие
эпитеты как лучший из худших. Было с чем сравнивать и было хуже. И пока существует
OpenJDK за судьбу платформы можно не беспокоиться. Что вы говорите? Оракл? Да он сегодня
стандартизирует и сертифицирует JVMs. И может чего-то там в судах отсуживать.
Но на этом пожалуй все. Он не рулит мировым сообществом. И я-бы не стал драматизировать
из за каких-то там задержек в релизах.

Если я ошибся в timeline - топрошу простить т.к. не помню наизусть всех ключевых дат.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39269574
maytonНо на этом пожалуй все. Он не рулит мировым сообществом. И я-бы не стал драматизировать
из за каких-то там задержек в релизах.

Если я ошибся в timeline - топрошу простить т.к. не помню наизусть всех ключевых дат.

хватит уже ерунду пороть-то. facebook, vk - используют PHP. google все свои ключевые сервисы держит на C++
eBay изначально был на C++, частично переписался на Java, довольно неудачно, и сейчас вместе с paypal переписывается на ... Node.JS

случаи успешного применения Java в сфере крупного сайтостроения единичны.

зато очень показательны вот такие вот случаи, которые всю "невиданную мощу" этого вашего GC выдают ну... несколько в нелицеприятном свете. https://habrahabr.ru/company/odnoklassniki/blog/148139/
https://habrahabr.ru/company/odnoklassniki/blog/139185/

прикольно, да? взяли супер-пупер язык, выкинули из него ключевое, и взамен воткнули старый добрый C-ный malloc() заместо.

укатайка.

а так все в мире Java хорошо, базовые концепции не хромают на обе ноги :)
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39269583
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что facebook - светоч сайтостроения?
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39269602
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
бухалтер фантоцциP.S.
Многих современных работающих программистов можно вполне назвать "домохозяйками" - по сравнению с опытными специалистами их уровень таким и является,
что не мешает им работать годами и создавать свои "шедевры", рассуждать о правильных подходах и технологиях и т.д.

имхо мы уже имеем ненормальную ситуацию, когда:
- обычный сайт забирает все ресурсы персонального компьютера,
- для какой-то мелочи нужно обновить ОС или целый комплекс ПО,
- уровень синтаксических абстрацкий вырос непомерно и больше вредит, чем помогает,
- изучение конкретного инструмента или среды является более важным, чем знание технологий (далее специалист зависим от инструмента),
- и т.д.

Всё это следствия уменьшения порога вхождения и написания "понятного" кода.

Ну как тут не вспомнить еще одного классика:
"Успех системы MULTICS был весьма неоднозначен. Эта система разрабатывалась для того, чтобы обеспечить сотни пользователей машиной, немногим более мощной, чем персональный компьютер с процессором Intel 386, хотя при этом имеющей возможность работы со значительно большим количеством устройств ввода-вывода. Это было не так уж безумно, как может показаться, потому что в те дни люди знали, как писать маленькие, эффективные программы - навык, который впоследствии был утерян. "

Я все-таки считаю, что Реймонд прав и его высказывание ни в коей мере не устарело. Сопровождение по-прежнему является существенной фазой существования проекта, и чем понятнее код, тем меньше времени уходит на сопровождение конкретного инцидента :)
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39269616
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schi"Успех системы MULTICS был весьма неоднозначен. Эта система разрабатывалась для того, чтобы обеспечить сотни пользователей машиной, немногим более мощной, чем персональный компьютер с процессором Intel 386, хотя при этом имеющей возможность работы со значительно большим количеством устройств ввода-вывода. Это было не так уж безумно, как может показаться, потому что в те дни люди знали, как писать маленькие, эффективные программы - навык, который впоследствии был утерян. "

Я все-таки считаю, что Реймонд прав и его высказывание ни в коей мере не устарело. Сопровождение по-прежнему является существенной фазой существования проекта, и чем понятнее код, тем меньше времени уходит на сопровождение конкретного инцидента :)
По поводу анекдотов где мощности ПК не хватает чтобы распечатать страничку на принтере.
Я конечно ко всему этому плюсую. Есть завтык в части перформанс-менеджемента.

Но я добавлю. Те господа, которые с придыханием вспомниают что когда-то деревья были
высокие и трава зеленая совершенно забыли что банки выполняли более узкий круг задач.
Магазины в 99% принимали только наличку. Карточные продукты не существовали как класс. Не было
интернетов. Телефон и телеграф заменяли сабж (насколько хорошо или плохо - решите
сами я тут затрудняюсь). На заводах автоматизация была - но другая. На аналогово-цифровой
вычислительной технике где память иногда измерялась килобайтами. Бухгалтерия большую
часть работы считала на калькуляторах, деревянных счетах (дада мать вашу это Сов-союз детка!)
или на такой машинке которая называлась Феликс и для того чтобы она мать ее считала - нужно
крутить ручку сбоку.



А селфи шлёпались не на сматрфон а на ФЭД или Смена. Или Зоркий. Или зенит.
Хранились не в цифре а ложились на целлулоид + серебро и чтобы получить своё чортово селфи
нужно было либо проявлять самому (ага клуб йуного фотографа) или ...уячить в местный
сервисный центр (Kodak и Fujitsu только в 90х появились). И хопа - фотоувеличитель и печатать.

Так что дорогие мои ностальгирующие (ш)кодеры. Никому ваш мультикс не всрался. Он был продуктом
СВОЕГО времени где КПД программиста оправдывался. А сегодня - кодинг на ассемблере
и тотальная оптимизация - это путь в никуда.

Но вы можете побухтеть и поворчать здесь в скруле. А куле. Тут можно.

И я тоже с вами вместе покодю демки на 64к с летающими Donuts.

Авось возмут в гейм-контору.

Вот так вот, чортовы хипстеры.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39269662
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonА что facebook - светоч сайтостроения?

да нет конечно, всем нужно равняться на вон твой сугубо intranet сайт, которым пользуются 2.5 внутрикорпоративных анонимуса.
ну, как на пример высокотехнологичной светоч разработки, highload, все такое :)
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39269700
Фотография бухалтер фантоцци
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schiбухалтер фантоцциP.S.
Многих современных работающих программистов можно вполне назвать "домохозяйками" - по сравнению с опытными специалистами их уровень таким и является,
что не мешает им работать годами и создавать свои "шедевры", рассуждать о правильных подходах и технологиях и т.д.

имхо мы уже имеем ненормальную ситуацию, когда:
- обычный сайт забирает все ресурсы персонального компьютера,
- для какой-то мелочи нужно обновить ОС или целый комплекс ПО,
- уровень синтаксических абстрацкий вырос непомерно и больше вредит, чем помогает,
- изучение конкретного инструмента или среды является более важным, чем знание технологий (далее специалист зависим от инструмента),
- и т.д.

Всё это следствия уменьшения порога вхождения и написания "понятного" кода.

Ну как тут не вспомнить еще одного классика:
"Успех системы MULTICS был весьма неоднозначен. Эта система разрабатывалась для того, чтобы обеспечить сотни пользователей машиной, немногим более мощной, чем персональный компьютер с процессором Intel 386, хотя при этом имеющей возможность работы со значительно большим количеством устройств ввода-вывода. Это было не так уж безумно, как может показаться, потому что в те дни люди знали, как писать маленькие, эффективные программы - навык, который впоследствии был утерян. "

Я все-таки считаю, что Реймонд прав и его высказывание ни в коей мере не устарело. Сопровождение по-прежнему является существенной фазой существования проекта, и чем понятнее код, тем меньше времени уходит на сопровождение конкретного инцидента :)Разумеется, Реймонд во многом прав, и делить мир на чёрное и белое нельзя.
Но задуматься наверное стоит, потому я и подкинул "дровишек".
Не существует серебряной пули, но существуют наши привычки, а мир постепенно меняется,
иногда можно внезапно попасть в неприятное положение, когда поступил привычно, но в корне неправильно,
потом задним числом себя ругаешь - какой-же я был дурак, поэтому не стоит слепо доверять "проверенным" догмам.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39269714
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну ОК. Пускай будет фейсбух. Я не против.

Только в выборку предлагаю добавить следующее.

1) Facebook
2) VK.com
3) Instagram
4) LinkedIn
5) Amazon.com
6) twitter.com
7) Stackoverflow
8) Habrahabr.ru
9) rsdn.ru
10) sql.ru :)

Это весьма субъективный список сайтов который я предлагаю для рассмотрения.
Из них я осведомлен об sql.ru + сейча на ходу одним глазом почитаю про фейс-бух.
А стек остальных представляет для меня загадку.
Ну... разве что я читал про twitter/Storm в ракурсе какого-то семинара.

Про архитектуру остальных я почти ничего не знаю т.ч. мы в равных условиях
и я - не презвзято отношусь к вопросу. Но если у вас есть еще штук 10 сайтов
то давайте их тоже добавим.

Гугол я предлагаю не рассматривать. Как раз именно потому-что это действительно
сборная солянка из более чем 100 технологий и мы решительно потонем в хештегах
и сраче на тему "на чем он написан" но не придем решительно ни к какому выводу.

Что должно быть в результате рассмотрения. Ну... наверное табличка где будет как-то так.
Сайт. Список технологий по хештегам. LAMP (Linux-Apache) не стоит описывать. И так очевидно.
Будем считать что Апачи+Линукс по дефолту всегда есть. JavaScript тоже писать не надо.
И так очевидно что он есть. НО если есть интересный фреймворк на базе JS то можно указать
Query/ANgular к примеру.

Пример отчотика:
SiteTechnology listfacebook.comPHP, HipHop, C++, Java, Python, Erlang, Apache Thrift, Objective-C, Ocaml, Haskel, Rubytwitter.com Storm (возможно)sql.ru Windows Server (хз какой), MS-SQL (хз какой), +Форумный движок (хз какой я забыл)
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39269850
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton1) Facebook
2) VK.com
3) Instagram
4) LinkedIn
5) Amazon.com
6) twitter.com
7) Stackoverflow
8) Habrahabr.ru
9) rsdn.ru
10) sql.ru :)

1) да да, Objective C. Стоит там ферма из MacMini, коптит анатитику просмотра котиков для Цукерберга.
2) VK.com - HPHP, C++, mysql, своя какая-то KDB, на C писанная
3) Instagram - PostgreSQL, Djanjo (Python) http://highscalability.com/blog/2012/4/16/instagram-architecture-update-whats-new-with-instagram.html
4) LinkedIn - Java, якобы
5) Amazon - слишком ни обо всем, там же платформа все http://highscalability.com/amazon-architecture
6) Twitter давно и смешно борется c масштабируемостью, бросаясь в крайности перехода с Rails на Scala и еще куда-нибудь потом
7) Stackoverflow - внезапно .NET http://highscalability.com/blog/2014/7/21/stackoverflow-update-560m-pageviews-a-month-25-servers-and-i.html

8) 9) 10) - это ни разу не highload, так, обычые региональные сайты с трафиком 1 страница в секунду на ноду, там и Java справится вполне.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39269853
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Наоборот. Крупные сайты с большой посещаемостью могут себе позволить штучные решения.

Вопрос про энетрпрайз-мейнстрим. Я бы брал ibm.com, oracle.com etc
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39269877
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojava6) Twitter давно и смешно борется c масштабируемостью, бросаясь в крайности перехода с Rails на Scala и еще куда-нибудь потом

Я не различаю рантайм Java/Scala. Можно через слеш или через запятую писать. Тоже с груви.

nojava8) 9) 10) - это ни разу не highload, так, обычые региональные сайты с трафиком 1 страница в секунду на ноду, там и Java справится вполне.
Я готов согласиться но хотелось-бы дать на замену 3 особо нагруженных портала. Я навскидку ничего не помню
из того что сам посещаю.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39269898
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonnojava6) Twitter давно и смешно борется c масштабируемостью, бросаясь в крайности перехода с Rails на Scala и еще куда-нибудь потом

Я не различаю рантайм Java/Scala. Можно через слеш или через запятую писать. Тоже с груви.

в общем-то да, у них всех одна большая родовая травма - JVM/Heap/GC

как говорится, если взять и смешать бочку... мягко говоря не мёда и бочку меда, то ... две бочки меда точно не получятся.

maytonnojava8) 9) 10) - это ни разу не highload, так, обычые региональные сайты с трафиком 1 страница в секунду на ноду, там и Java справится вполне.
Я готов согласиться но хотелось-бы дать на замену 3 особо нагруженных портала. Я навскидку ничего не помню
из того что сам посещаю.

в мире highload к Java, .NET и подобному относятся довольно настороженно.
примеры же серверов баз данных, написанных на Java - и вовсе показательны - даже Facebook окончательно отказался Cassandra

что, в общем-то, уже говорит о реальной применимости Java к написанию core technology стека, в сравнении с С/C++


кроме того, в вопросе быстрого хот-фикс-деплоя и она ни разу не выигрывает - компиляция то требуется, как ни крути
Python и PHP тут вне конкуренции
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39269906
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojavaPython и PHP тут вне конкуренции
Не уверен что Python + PHP могут с уверенностью претендовать на хайлоад.
Я не знаю что там этот Цукерберх придумал. Но PHP в былые времена
не имел возможности быстро отстреливать ответы. Нужны какие-то
там ускорители или присадки к классической модели HTTP-request-fork().
Я признаю что фейсбук быстр но это не заслуга PHP. А скорее
плод длительного переосмысления создателем всего workflow.
И PHP там не простой а с тюнингом.

По поводу Пайтона. Ну... он тоже не блещет скоростью . Наверное только в кластере
таких-же машин и под nginx он способен расти по скорости.

Некоторые ссылаются на гугол. Дескыть он его юзает. Ну и что?
Гугол нельзя рассматривать как 1 физичесекий сервер. Тоесть
сама формулировка - натяжка. У гугла грамотное облако с балансом
с географией.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39269917
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonnojavaPython и PHP тут вне конкуренции
Не уверен что Python + PHP могут с уверенностью претендовать на хайлоад.
VK и Facebook вообще навострились PHP код кросскомпилировать в C++ код и потом его линковать.

Хотя это у них уже не мейнстрим, они научились делать JIT компилирование, насколько я помню.

А в остальном - в чем проблема? На PHP вполне себе можно запилить приложение, которое будет перемалывать 200-300 тысяч запросов в секунду с одной физической ноды, причем время реакции будет гарантировано, в отличие от.

maytonЯ не знаю что там этот Цукерберх придумал. Но PHP в былые времена
не имел возможности быстро отстреливать ответы. Нужны какие-то
там ускорители или присадки к классической модели HTTP-request-fork().
Я признаю что фейсбук быстр но это не заслуга PHP. А скорее
плод длительного переосмысления создателем всего workflow.
И PHP там не простой а с тюнингом.

естественно не простой. компилируемый. но и без этого он довольно резко работал, ибо львиная доля временных затрат (более 98%) она лежит вне мира PHP - там больше базы данных, memcache, сетевой трафик и прочее.

maytonПо поводу Пайтона. Ну... он тоже не блещет скоростью . Наверное только в кластере
таких-же машин и под nginx он способен расти по скорости.
еще раз - там основная работа в таких проектах сидит на стороне баз данных и кешей. плюс временные затраты на сетевой трафик.
все эти скриптовые интерпретируемые языки в общем времени веб обработки занимает доли процентов, ими можно пренебречь.
ну уменьшишь ты с 0.1% до 0.001% время рендеринга страницы, и что? этого никто не заметит.

maytonНекоторые ссылаются на гугол. Дескыть он его юзает. Ну и что?
Гугол нельзя рассматривать как 1 физичесекий сервер. Тоесть
сама формулировка - натяжка. У гугла грамотное облако с балансом
с географией.

гугл для ключевых сервисов (поиск) использует в основном C++.
а для всякой вспомогательной ерунды - все что угодно.

к примеру часть gmail и google docs написано на GWT, т.е. на Java.
там просто не нужен highload by design, не критичные сервисы (в части получения прибыли).
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39269927
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojavaгугл для ключевых сервисов (поиск) использует в основном C++.
а для всякой вспомогательной ерунды - все что угодно.

к примеру часть gmail и google docs написано на GWT, т.е. на Java.
там просто не нужен highload by design, не критичные сервисы (в части получения прибыли).
Я начал тему сравнения сайтов и технологий чтобы прояснить для себя
и для всех какие технологии где используются. Хотя-бы по названиям.

А гугл лучше убрать из этого сравнения. Он велик как вселенная и на любой
вопрос будет ответ и ДА и НЕТ и вообще все будет зыбкое и экспертное.

Вобщем прошу поскипаем гугол пока.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39269932
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Накатил патчик на табличку. Надо детализировать и раскрыть ссылки.

SiteTechnology listfacebook.comPHP, HipHop, C++, Java, Python, Erlang, Apache Thrift, Objective-C, Ocaml, Haskel, Rubytwitter.com Storm (возможно),Rails, ScalaVK.comHPHP, C++, mysql, своя какая-то KDB, на C писаннаяsql.ru Windows Server (хз какой), MS-SQL (хз какой), +Форумный движок (хз какой я забыл)Instagram PostgreSQL, Djanjo (Python) LinkedIn Java, якобыAmazon http://highscalability.com/amazon-architecture Stackoverflow.NET
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39269943
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonnojavaгугл для ключевых сервисов (поиск) использует в основном C++.
а для всякой вспомогательной ерунды - все что угодно.

к примеру часть gmail и google docs написано на GWT, т.е. на Java.
там просто не нужен highload by design, не критичные сервисы (в части получения прибыли).
Я начал тему сравнения сайтов и технологий чтобы прояснить для себя
и для всех какие технологии где используются. Хотя-бы по названиям.

какая разница, что где используется? какой-нибудь Bank Of America поди до сих пор Cobol использует, с Java обвесом вокруг, чтоб веб формы можно было вводить.

Вопрос - что в тренде. А сейчас, в тренде, как ни странно, Node.JS. Вот парни из Paypal нагрядно показали, как в два раза увеличили пропускную способность и уменьшили время отклика. Так это было еще три года назад!

https://www.paypal-engineering.com/2013/11/22/node-js-at-paypal/

Uber, LinkedLn, Netflix - идут туда-же.

https://www.quora.com/What-are-the-biggest-websites-built-with-Node-js-on-the-server-side
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39269948
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojavaВопрос - что в тренде. А сейчас, в тренде, как ни странно, Node.JS. Вот парни из Paypal нагрядно показали, как в два раза увеличили пропускную способность и уменьшили время отклика. Так это было еще три года назад!

Мы не можем так легкомысленно говорить о трендах. Или надо просто добавлять IMHO.

Хотя внутренне я полностью согласен что у Node.JS есть перспектива выдавить этот бестолковый PHP
с нагромождением подпорок и протезов.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39269954
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
+Uber

SiteTechnology listfacebook.comPHP, HipHop, C++, Java, Python, Erlang, Apache Thrift, Objective-C, Ocaml, Haskel, Rubytwitter.com Storm (возможно),Rails, ScalaVK.comHPHP, C++, mysql, своя какая-то KDB, на C писаннаяsql.ru Windows Server (хз какой), MS-SQL (хз какой), +Форумный движок (хз какой я забыл)Instagram PostgreSQL, Djanjo (Python) LinkedIn Java, якобыAmazon http://highscalability.com/amazon-architecture Stackoverflow.NETUber Python, NodeJS, Redis (Objective-C, Java for Iphone,Andr.)
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39269966
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonnojavaВопрос - что в тренде. А сейчас, в тренде, как ни странно, Node.JS. Вот парни из Paypal нагрядно показали, как в два раза увеличили пропускную способность и уменьшили время отклика. Так это было еще три года назад!

Мы не можем так легкомысленно говорить о трендах. Или надо просто добавлять IMHO.

Хотя внутренне я полностью согласен что у Node.JS есть перспектива выдавить этот бестолковый PHP
с нагромождением подпорок и протезов.

Нода скорее Java выдавит. Потому что PHP и так замечательно работает, и, к слову, для веб задач он спроектирован просто идеально,
один его принцип live-to-die заслуживает всяческого уважения и прочего респектования перед авторами.

В этом плане Node.JS сделан куда хуже (там нет live-to-die, зато есть засилье call back замыканий в виде мегалесенок, которое требует выворачивания мозгов набекрень, типовые Java кодеры к такому более расположены, чем PHP-ники)
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39269981
HHVM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nojavamaytonпропущено...

Не уверен что Python + PHP могут с уверенностью претендовать на хайлоад.
VK и Facebook вообще навострились PHP код кросскомпилировать в C++ код и потом его линковать.

Хотя это у них уже не мейнстрим, они научились делать JIT компилирование, насколько я помню .

... там основная работа в таких проектах сидит на стороне баз данных и кешей. плюс временные затраты на сетевой трафик.
все эти скриптовые интерпретируемые языки в общем времени веб обработки занимает доли процентов, ими можно пренебречь.
ну уменьшишь ты с 0.1% до 0.001% время рендеринга страницы, и что? этого никто не заметит.

гугл для ключевых сервисов (поиск) использует в основном C++.
а для всякой вспомогательной ерунды - все что угодно.
Совершенно верно - в Facebook используют JIT-компилятор для PHP: we were pursuing a just-in-time (JIT) compilation approach called HHVM as a successor to our PHP→C++ compiler called HPHPc - link

По поводу "скриптовые интерпретируемые языки в общем времени веб обработки занимает доли процентов" и это да, и плюс в части веб в Facebook - экономия на PHP-разработчиках вместо C++-ников больше, чем экономия на серверах.
Вот в поисковике google наоборот - экономия на серверах выходит выгоднее, поэтому на С++ не экономят.

C и C++ в серьёзных highload проектах.
1. Основные оптимизации касаются сети:
- замена железа Ethernet на RoCE-Ethernet/Infiniband
- замена софта TCP-sockets на SDP-sockets over RDMA
2. И разработка собственных no-SQL+no-ACID DBMS.

http://tech.marksblogg.com/billion-nyc-taxi-rides-nvidia-tesla-mapd.html 1.1 Billion Taxi Rides with MapD & 8 Nvidia Tesla K80s ... The SQL looks very much like what you'd use with most RDBMS offerings.
А в контексте топика - вот хороший тон в программировании писать код СУБД на CUDA C++ под GPU?
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270010
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HHVM http://tech.marksblogg.com/billion-nyc-taxi-rides-nvidia-tesla-mapd.html 1.1 Billion Taxi Rides with MapD & 8 Nvidia Tesla K80s ... The SQL looks very much like what you'd use with most RDBMS offerings.
А в контексте топика - вот хороший тон в программировании писать код СУБД на CUDA C++ под GPU?
MapD - прикольная идея, спасибо за ссылку.

А так - почему и нет? Специализированные на оборудовании СУБД движки в мире BigData/BI рулят со страшной силой.
Netezza тому пример, или Oracle Exadata с их HCC.

Но затолкать датабазу в GPU - это таки пять, при том, что тот C, что поставляется с OpenCL и подобным - вполне достаточен для подобного.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270056
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LimsЯ недолго думая я ответил - что бы легко читался был локоничным и понятным всем кто его читает.
а как считаете вы?

В нормальных языках типа F#, пробелы-значимые символы! Так что хочешь-не хочешь абсолютно все пишут одинаково и красиво!
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270063
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вы все про Delphi?зато очень показательны вот такие вот случаи, которые всю "невиданную мощу" этого вашего GC выдаютЧто вы к этой сборке мусора прицепились???
Есть такая Azul Systems. Начинала в первой половине нулевых со специализированных железок, сейчас нужные фичи есть в общецелевых операционных системах. Собственный сборщик мусора - в разы быстрее Hotspot в среднем и на порядки - по максимальным задержкам. Цена вопроса - несколько меньшая пропускная способность (~15%)
Года три-четыре назад в их "успешных историях" было "у клиента, в нашей JVM, работает приложение с кучей в 256 мегабайт". Года полтора-два назад - "... пол-терабайта".
Вот положа ногу на ногу - много кто может похвастаться управлением осьмушкой терабайта в "пофигу каком "самом лучшем языке программирования""?

P.S. Как уже задрали эти разговоры в пользу бедных ...
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270069
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HHVM http://tech.marksblogg.com/billion-nyc-taxi-rides-nvidia-tesla-mapd.html 1.1 Billion Taxi Rides with MapD & 8 Nvidia Tesla K80s ... The SQL looks very much like what you'd use with most RDBMS offerings.
А в контексте топика - вот хороший тон в программировании писать код СУБД на CUDA C++ под GPU?
Я к сожалению пока не понимаю что это за бенчмарк и что он показывает.

Прошу вас дать краткую русскоязычную аннотацию о чем это.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270165
Basil A. Sidorovвы все про Delphi?зато очень показательны вот такие вот случаи, которые всю "невиданную мощу" этого вашего GC выдаютЧто вы к этой сборке мусора прицепились???
Есть такая Azul Systems. Начинала в первой половине нулевых со специализированных железок, сейчас нужные фичи есть в общецелевых операционных системах. Собственный сборщик мусора - в разы быстрее Hotspot в среднем и на порядки - по максимальным задержкам. Цена вопроса - несколько меньшая пропускная способность (~15%)
Года три-четыре назад в их "успешных историях" было "у клиента, в нашей JVM, работает приложение с кучей в 256 мегабайт". Года полтора-два назад - "... пол-терабайта".
Ок, теперь мы знаем название чудо костылей, которые исправляют врожденное хромание на обе ноги - Azul Systems
правда не исправляют, но пациент начинает заметно бодрее прыгать, и не зависать в задумчивости на 6...7 минут, только на полминуты, не более :)


Basil A. SidorovВот положа ногу на ногу - много кто может похвастаться управлением осьмушкой терабайта в "пофигу каком "самом лучшем языке программирования""?

P.S. Как уже задрали эти разговоры в пользу бедных ...

да любой нормальный, а не "управляемый" язык программирования такое может, что там мочь-то, malloc()/free()/mmap() - это системные вызовы, к языку никак не привязанные.

я для small chunk allocation существуют 100500 вариаций на тему tcmalloc
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270177
uid unique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojavaкакая разница, что где используется? какой-нибудь Bank Of America поди до сих пор Cobol использует, с Java обвесом вокруг, чтоб веб формы можно было вводить.

+ именно так... 100% никто не скажет - подписка за разглашение но смею предположитъ что в БоФе как и во всех приличных банках деньги скорее всего считаются на мейфреймах на старом софте, Java для вторичных направлений (документооборот) и веб фасадов (как и во всех банках в NA). Мода на перенос меинфреймов на веб началась в 2000-м.
Не все ли равно на чем написано, главное чтоб работало.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270181
uid unique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot вы все про Delphi?]Basil A. Sidorovпропущено...
Что вы к этой сборке мусора прицепились???

Вообще то Java есть и без уборки мусора, встречалась real time Java там аллокация ручками как в С.
Давненько это было но могу найти ресурсы.

В iOS Objective C перешли на reference count и GC deprecated в ОS X но конечно культура кодирования требуется высокая... и тестирование более долгое. У меня приложение прошло контроль в эппле и тестирование в свое время а потом нашел утечки памяти.
Зато тормозов таких нет как с уборщиком мусора.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270182
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojavaкроме того, в вопросе быстрого хот-фикс-деплоя и она ни разу не выигрывает - компиляция то требуется, как ни крути
Python и PHP тут вне конкуренции
Аххаха, сравнил жопу с пальцем. Сначала требовал хайлоад потом в пример привел школолотехнику =)
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270184
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ясно, свеженький тролль. В игнор
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270185
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SiemarglЯсно, свеженький тролль. В игнор
Не угадал
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270189
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uid unique, возможно речь идет об использовании sun.misc.unsafe.* ?
Сам я никогда не юзал но на семинарах толи Борисова толи Шипилева
постоянно идут отсылки к тому как нужно "хачить" мемори через unsafe.

По поводу GС. Некто David в своём блоге гонял бенчмарки на Jira серваках c xmx = 3G
и достиг максимального лага в 0.1 сек для +UseG1GC.

Conc-Mark-Sweep и обычный Parallel показывали характеристики похуже
хотя они более комплексные с точки зреня выводов.

Например Parallel давал самый низкий average-lag но при этом самый
большой максимальный. Вообще КМК чтобы охарактеризовать GC
более полно нужна не таблица а скорее гистограмма и среднее
квадратическое отклонение gc time.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270199
uid unique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonuid unique, возможно речь идет об использовании sun.misc.unsafe.* ?
Сам я никогда не юзал но на семинарах толи Борисова толи Шипилева
постоянно идут отсылки к тому как нужно "хачить" мемори через unsafe.

Первый раз это встретил когда баловался с Java для встроенных устройств, не хочу соврать но столкнулся с этой темой в 2004 или 2005 примерно, вот эта работа

http://www.jopdesign.com/thesis/thesis.pdf

Он из Австрии, эмулятор JVM на Java у него же был, Java realtime profile, и платы на FPGA. Тезис его мне просто понравился, интересная работа для студентов - было бы полезно и наглядно проходить подобные лабы с минималистической Java и RISC процессором с поддержкой байткодов. Не совсем Java процессор но очень компактно все.

Железячки под его Java:
http://www.jopdesign.com/cyclone/index.jsp

У меня тогда как раз было обострение на железки, Verilog/VHDL, паяльные станции, до сих пор дома валяется куча железа, лупа с подсветкой на треноге, и десяток комплектов незаконечных жучков GPS/GSM для машин и пара ящиков рассыпухи всякой десятилетней давности.

Потом обострение прошло, я обленился и сконцентрировался на коммерческом Java программированием. ;-)
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270201
uid unique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonuid unique, возможно речь идет об использовании sun.misc.unsafe.* ?
Сам я никогда не юзал но на семинарах толи Борисова толи Шипилева
постоянно идут отсылки к тому как нужно "хачить" мемори через unsafe.

Глянул на Оракле как и ожидалось, hard real time "не любит" GC

http://www.oracle.com/technetwork/articles/javase/index-137216.html

An Introduction to Real-Time Java Technology: Part 1, The Real-Time Specification for Java (JSR 1)The RTSJ provides a subclass of RTT called NoHeapRealtimeThread (NHRT). Instances of this subclass are protected from GC-induced jitter. The NHRT class is intended for hard-real-time activities.

To maximize predictability, NHRTs are allowed neither to use the garbage-collected heap nor to manipulate references to the heap. Otherwise, the thread would be subject to GC pauses, and this could cause the task to miss its deadline. Instead, NHRTs can use the scoped memory and immortal memory features to allocate memory on a more predictable basis.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270207
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Azul C4 в общих словах описан на Хабре

https://habrahabr.ru/post/148322/
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270227
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вы все про Delphi?Ок, теперь мы знаем название чудо костылей"Неучем родился - дураком помрёшь".
Башляешь пророкам ~130$ и получаешь возможность испольовать Hotspot или JRockit - на выбор.
"Ничего личного, чистый бизнес".

P.S. Вы бы или голову поднимали от своей песочницы или, таки, не брызгали слюной в разные стороны.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270292
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov, я думаю этот анонимос - это наш-же мембер.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270372
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот более конкретна бумажка по этому "взрывному" мусорщику https://www.azul.com/files/c4_paper_acm1.pdf
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270401
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonuid unique, возможно речь идет об использовании sun.misc.unsafe.* ?
Сам я никогда не юзал но на семинарах толи Борисова толи Шипилева
постоянно идут отсылки к тому как нужно "хачить" мемори через unsafe.

По поводу GС. Некто David в своём блоге гонял бенчмарки на Jira серваках c xmx = 3G
и достиг максимального лага в 0.1 сек для +UseG1GC.

Conc-Mark-Sweep и обычный Parallel показывали характеристики похуже
хотя они более комплексные с точки зреня выводов.

Например Parallel давал самый низкий average-lag но при этом самый
большой максимальный. Вообще КМК чтобы охарактеризовать GC
более полно нужна не таблица а скорее гистограмма и среднее
квадратическое отклонение gc time.

0.1 сек для гигабайта? а если этот гигабайт лежит в swap на hdd?
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270408
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorovвы все про Delphi?Ок, теперь мы знаем название чудо костылей"Неучем родился - дураком помрёшь".
Башляешь пророкам ~130$ и получаешь возможность испольовать Hotspot или JRockit - на выбор.
"Ничего личного, чистый бизнес".

P.S. Вы бы или голову поднимали от своей песочницы или, таки, не брызгали слюной в разные стороны.

слюной брызгаешь пока только ты.

для меня вполне достаточно быть просто юзером Java приложений, вроде jenkins и прочих атлазианов, чтоб даже невооруженным взглядом видеть - как оно в мире Java все стабильно и качественно, и не лагает и не требует при случае жестких перезапусков.

для этого ведь не нужно быть особо грамотным, достаточно просто попробовать попользоваться, и слюну можно сэкономить, а не разбрызгивать ее на форумах популяризируя чудные костыли.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270413
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojava0.1 сек для гигабайта? а если этот гигабайт лежит в swap на hdd?
Вот блог этого господина http://info.prelert.com/blog/java-garbage-collectors
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270450
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonnojava0.1 сек для гигабайта? а если этот гигабайт лежит в swap на hdd?
Вот блог этого господина http://info.prelert.com/blog/java-garbage-collectors

там нет ничего про swapping, paging, ballooning - очень страшные и табуированные слова для каждого жава типо архитекта

страшно, страшно ониибыли далеки от народа со своей сурогатной jvm, от рождения не наученной правильной работе с любой ОС
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270462
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojavaтам нет ничего про swapping, paging, ballooning - очень страшные и табуированные слова для каждого жава типо архитекта

страшно, страшно ониибыли далеки от народа со своей сурогатной jvm, от рождения не наученной правильной работе с любой ОС
Ты... по принципу если болит или чешется - то надо непременно, обязательно свою боль и свои
синяки и струпья вывалить в этот несчастный форум?

Ну зачем ты сюда принtc ballooning ? Оно нам надо? Ну не летаем мы на виртуалках (к примеру).
Зачем нам сейчас ковырять твои гнойные язвы и слушать как ты стонешь и охаешь
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270473
Фотография schwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonА вот более конкретна бумажка по этому "взрывному" мусорщику https://www.azul.com/files/c4_paper_acm1.pdf

График летенси сборщика мусора Go Runtime 1.6 сферического приложения в вакууме.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270483
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schwa, чё такое Go Runtime 1.6 ?

Это GoLang? (Sorry)
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270485
Фотография schwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Да. Он самый Go.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270489
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonНу зачем ты сюда принtc ballooning ? Оно нам надо? Ну не летаем мы на виртуалках (к примеру).
Зачем нам сейчас ковырять твои гнойные язвы и слушать как ты стонешь и охаешь

гнойные язвы походу у тебя в голове. разве ты не знаешь, что в мире существует понятие виртуального хостинга, вроде EC2 или Azure?
да и современная инфраструктура предприятий в датацентрах давно уже заточена на управление ресурсами, ну там, live migrations, capacity on demand, все такое? ну молодец, живи в своем уютном селе дальше, на "сервере", стоящим под столом или в кладовке возле твого рабочего кабинета в здании бывшей столовой.

и в чем твой ненагноящийся спич? что java поделки могут запускаться только или на физическом железе или с жестко зааллоцированными параметрами размера предаллоцированной памяти?

ну круууууть. ну мощааааа.... прогресс невиданный. верной дорогой идете, тогаищи :))
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270490
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojava, походу это ты был анонимус выше?
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270493
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schwamayton,

Да. Он самый Go.
Положа руку на серде я уже потерял корень дискусси по поводу GC.
Но если мы будем обсуждать GC in General то ОК. Я согласен.

Давайте обсуждать генерализованные GC в Lisp, .Net, DLang, Golang
и их общие алгоритмы и подходы.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270498
Фотография schwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojavaи в чем твой ненагноящийся спич? что java поделки могут запускаться только или на физическом железе или с жестко зааллоцированными параметрами размера предаллоцированной памяти?

Это не соответствует действительности.
Тот же Netflix тысячи своих джава поделок на EC2, Google запускает тысячи своих джава приложений на виртуалках и не жужжат.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270501
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schwanojavaи в чем твой ненагноящийся спич? что java поделки могут запускаться только или на физическом железе или с жестко зааллоцированными параметрами размера предаллоцированной памяти?

Это не соответствует действительности.
Тот же Netflix тысячи своих джава поделок на EC2, Google запускает тысячи своих джава приложений на виртуалках и не жужжат.

ты нечитатель? я же не говорил, что невозможно запускать. можно - и я даже написал вон выше как - отключаешь всякие балонинги, чотко, дерзко следишь чтоб виртуалки по использовани. памяти в сумме не превышали физическую оперативу хоста и вперед, чтоб не дай бог не в своп...

одно только останется спросить - а нафига тогда вообще виртуалки?

но то такое. настоящие жава архитекты таким вопросом не задаются - гугл же работает, верно? Ж)
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270513
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonschwamayton,

Да. Он самый Go.
Положа руку на серде я уже потерял корень дискусси по поводу GC.
Но если мы будем обсуждать GC in General то ОК. Я согласен.

Давайте обсуждать генерализованные GC в Lisp, .Net, DLang, Golang
и их общие алгоритмы и подходы.
Форкнул http://www.sql.ru/forum/1221727/tyapnichnyy-idealnyy-sborshhik-musora
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270515
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojavaодно только останется спросить - а нафига тогда вообще виртуалки?
У виртуалок главный минус - тормозной I/O как с диском, так и по сети.
А плюсы в удобстве и простоте обслуживания, админу абсолютно ничего не надо знать об внутреннем устройстве, поэтому он быстро и просто может менять железо под виртуалкой.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270520
Фотография schwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonschwamayton,

Да. Он самый Go.
Положа руку на серде я уже потерял корень дискусси по поводу GC.
Но если мы будем обсуждать GC in General то ОК. Я согласен.

Давайте обсуждать генерализованные GC в Lisp, .Net, DLang, Golang
и их общие алгоритмы и подходы.
Возвращаясь к java.
В ввиду того, что

1) писатели всякого "миддлваре" на джаве (кассандра, и тп) додумались, что хранить данные своих колоночек/столбцов/очередей и тп в хипе, не очень хорошая идея.
2) тем, кому нужны какие-то вменяемые данные по лейтенси, тоже не особо наделяется на GC.
Большинство решений, которым нужно эффективное управление памятью, пишут это управление сами.
3) Перед тем как тюнить сборку мусора надо посмотреть профиль аллокаций в профайлере и исправить кучу мест, где аллокации нафиг не сдались... потом может оказаться что и тюнить сборку мусора не надо т.к. ,если у нас генерейшанл GC, например, никто не промоутится

Young Generation GC это хорошо (хотя если написать код так, чтобы она была не нужна, то лучше так и сделать), сборка старого поколения очень очень плохо.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270522
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я рискну предположить что продавцы VPS нас безпощадно наёб умалчивают по поводу
того какую оперативу они нам продают и как ее распределяют в датацентрах.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270533
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schwaПеред тем как тюнить сборку мусора надо посмотреть профиль аллокаций в профайлере и исправить кучу мест, где аллокации нафиг не сдались... потом может оказаться что и тюнить сборку мусора не надо т.к. ,если у нас генерейшанл GC, например, никто не промоутится

Young Generation GC это хорошо (хотя если написать код так, чтобы она была не нужна, то лучше так и сделать), сборка старого поколения очень очень плохо.
1) Я рискну предположить что сами по себе аллокации не страшны (работа стека это тоже аллокация в некотором смысле)
но страшны ссылки которые пережили 1-ю эпоху чистки. Работать без аллокаций вообще невозможно - это равносильно
отказу от работы со строковым типом данных. Везде где строки - будут аллокации.

2) По поводу тюнига сборки мусора. Нет ли здесь отсылки к разработкам LMAX? ЕМНИП из лекций по
неблокирующим очередям некто рассказывал что дескыть отключали вообще GC на сутки и при
этом утечки были так соптимизированы что в качесте уборки использовали просто ежесуточный
ребут сервера (нормальный график работы Лондонской биржи).
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270561
Фотография schwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonschwaПеред тем как тюнить сборку мусора надо посмотреть профиль аллокаций в профайлере и исправить кучу мест, где аллокации нафиг не сдались... потом может оказаться что и тюнить сборку мусора не надо т.к. ,если у нас генерейшанл GC, например, никто не промоутится

Young Generation GC это хорошо (хотя если написать код так, чтобы она была не нужна, то лучше так и сделать), сборка старого поколения очень очень плохо.
1) Я рискну предположить что сами по себе аллокации не страшны (работа стека это тоже аллокация в некотором смысле)
но страшны ссылки которые пережили 1-ю эпоху чистки. Работать без аллокаций вообще невозможно - это равносильно
отказу от работы со строковым типом данных. Везде где строки - будут аллокации.

От строк избавиться-то можно (самопильные оффхип строки кое-где используются), а от копирования байт при передаче на запись в файл/сокет уже не получится.

mayton2) По поводу тюнига сборки мусора. Нет ли здесь отсылки к разработкам LMAX? ЕМНИП из лекций по
неблокирующим очередям некто рассказывал что дескыть отключали вообще GC на сутки и при
этом утечки были так соптимизированы что в качесте уборки использовали просто ежесуточный
ребут сервера (нормальный график работы Лондонской биржи).
Это известный сценарий, когда _все_ создаваемые объекты "всегда умирают молодыми". Если у вас такое приложение, то можно выделять большой-большой массив объектов и его элементы переиспользовать т.к. размер старого поколения в вас не изменяется, то сборок старого поколения нет и вот у вас GC пауза порядка 5 ms и меньше в зависимости от интенсивности создания молодых объектов. Если же нет, то все становится намного интересней.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270750
schwamaytonпропущено...

1) Я рискну предположить что сами по себе аллокации не страшны (работа стека это тоже аллокация в некотором смысле)
но страшны ссылки которые пережили 1-ю эпоху чистки. Работать без аллокаций вообще невозможно - это равносильно
отказу от работы со строковым типом данных. Везде где строки - будут аллокации.

От строк избавиться-то можно (самопильные оффхип строки кое-где используются), а от копирования байт при передаче на запись в файл/сокет уже не получится .
Например, сама Oracle владелец и разработчик языка и виртуальной машины Java - вряд ли когда-нибудь в своих high-performance продуктах типа Oracle DMBS, RAC, Exadata, TimesTen будет использовать сборщик мусора в C/C++, а он сейчас возможен по стандарту C++11 и они могли бы его реализовать взяв концепцию из Java. Потому что это бред.
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4296.pdf 20.7.4 Change: Minimal support for garbage-collected regions
А вот uDAPL для межсерверной передачи без копирований - они используют: https://docs.oracle.com/cd/E23824_01/html/821-1459/eyasr.html

В C++ память жестких дисков PCIe-SSD можно отображать в userspace как обычную память и писать в неё прям из регистров: http://www.avagotech.com/applications/datacenters/enterprise-storage

В C++ можно передать байт из RAM (фактически cache-L3 CPU) сервера-1 в RAM-память сервера-2 (а фактически в его L3 CPU за счет PCIe-snooping) без лишних копирований . Чтобы совсем честно физически интерфейс должен быть RoCE/Infiniband/PCIe. Варианты протоколов:
1. VMA- socket
2. uDAPL rdma
3. SISCI rdma
4. Java + uDAPL
5. MPI-2 over uDAPL
6. Или если есть в Java MPI-wrapper то так же (MPI-2 over uDAPL): http://mirror.its.dal.ca/openmpi/faq/?category=java

MPI_PUT(src_ptr, size, type, dst_rank, dst_shift, size, type, shared_rdma_window);

Page 83
http://www.training.prace-ri.eu/uploads/tx_pracetmo/advanced_parallel_handoutAPPC16.pdf
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270861
uid unique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще то для кешей и прочего можно память без GC использовать в Java.
У меня была необходимость использовать большой пул массивов для кеширования без GC (3 GB RAM) еще 5-6 лет назад использовал его в Java. Смотрим ByteBuffer

https://docs.oracle.com/javase/7/docs/api/java/nio/ByteBuffer.html A direct byte buffer may be created by invoking the allocateDirect factory method of this class. The buffers returned by this method typically have somewhat higher allocation and deallocation costs than non-direct buffers. The contents of direct buffers may reside outside of the normal garbage-collected heap, and so their impact upon the memory footprint of an application might not be obvious. It is therefore recommended that direct buffers be allocated primarily for large, long-lived buffers that are subject to the underlying system's native I/O operations. In general it is best to allocate direct buffers only when they yield a measureable gain in program performance.


3 гига довольно долго выделялись на старте зато потом никто не пытался бессмысленно чистить пул массивов в несколько гигов.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270877
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uid uniqueВообще то для кешей и прочего можно память без GC использовать в Java.
У меня была необходимость использовать большой пул массивов для кеширования без GC (3 GB RAM) еще 5-6 лет назад использовал его в Java. Смотрим ByteBuffer

https://docs.oracle.com/javase/7/docs/api/java/nio/ByteBuffer.html A direct byte buffer may be created by invoking the allocateDirect factory method of this class. The buffers returned by this method typically have somewhat higher allocation and deallocation costs than non-direct buffers. The contents of direct buffers may reside outside of the normal garbage-collected heap, and so their impact upon the memory footprint of an application might not be obvious. It is therefore recommended that direct buffers be allocated primarily for large, long-lived buffers that are subject to the underlying system's native I/O operations. In general it is best to allocate direct buffers only when they yield a measureable gain in program performance.


3 гига довольно долго выделялись на старте зато потом никто не пытался бессмысленно чистить пул массивов в несколько гигов.

в подобном нет смысла - проще сразу возвращаться на С/С++ и не заниматься ерундой
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270895
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uid uniqueСмотрим ByteBuffer
ну это ж инвалид на костылях с выколотым глазом
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270902
uid unique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилuid uniqueСмотрим ByteBuffer
ну это ж инвалид на костылях с выколотым глазом
Зачем же так об обертке массива байт.
память не в хипе и без сборщика мусора - для кешей сгодится.

Или предпочитаете метлой мести несколько лишних гигов? Накладненько получается хотя... вольному волю!
Для систем с интенсивным вводом выводом объем кеша превышает объем бизнес объектов (классов).
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270908
Фотография schwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилuid uniqueСмотрим ByteBuffer
ну это ж инвалид на костылях с выколотым глазом
Ну вообще так и делают - генерят в рантайме/компайлтайме классы обертки на этими Unsafe/DirectByteBuffer и с ними работают - в итоге получаются те же java классы. Но самое интересно начинается, когда нужны коллекции для всего этого.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270915
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojavaв подобном нет смысла - проще сразу возвращаться на С/С++ и не заниматься ерундой
Куда возвращаться? Если у тебя крупное бизнес-приложение OVER стотыщ питсот строк
и уже написано на платформерах - ты его будешь переписывать на С++ ?
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270922
Фотография schwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonnojavaв подобном нет смысла - проще сразу возвращаться на С/С++ и не заниматься ерундой
Куда возвращаться? Если у тебя крупное бизнес-приложение OVER стотыщ питсот строк
и уже написано на платформерах - ты его будешь переписывать на С++ ?
Проблема с байтбуферами в том, что ее
1) сложно пропихнуть в свой код, который писался черти сколько без мысли о том, что кроме GC жизненным циклом объекта никто не может управлять - надо переписывать код.
2) в чужой код может быть вообще не пропихнешь - надо переписывать код.
3) конечно это меньше работы чем переписывать на C/C++, но ввиду того, как пишется код во львиной доле компаний, такие правки могут повлечь тотальное переписывание проекта.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39270927
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uid uniqueЗачем же так об обертке массива байт.
беда в том, что если этот массив выделяется ByteBuffer.allocate или ByteBuffer.allocateDirect - никто не обещает что array() будет жить.

Да и FileСhannel.map не подарок
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39271505
uid unique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилuid uniqueЗачем же так об обертке массива байт.
беда в том, что если этот массив выделяется ByteBuffer.allocate или ByteBuffer.allocateDirect - никто не обещает что array() будет жить.

Да и FileСhannel.map не подарок
Проверьте после инициализации, для этого есть hasArray()... непонятно о чем плачь - возможность выделить память вне GC и хипа есть? Есть. Работайте. У меня код работал, все ок. Вместо 6ГБ хипа было 3ГБ и 3ГБ снаружи кеша для вводе ввывода.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39271506
uid unique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojavaв подобном нет смысла - проще сразу возвращаться на С/С++ и не заниматься ерундой
CGI катать? Род задачи указан - пул массивов, для кеширования. Массивы как backend для потоков вполне себе годятся.
Если платят за С, пишите на С, если мне заказчит платит за Java - пишется на Java.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39290631
Фотография Areostar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Пиши код так, будто поддерживать его будет склонный к насилию психопат, который знает твой домашний адрес!!"

Уже не помню чьЁ
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39311092
Пётр Седов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly MoskovskymaytonЕсли "ее" время куда-то уходит - то должны быть признаки. Вы можете указать хотя-бы 2-3 признака
уходящего времени для Java?
Сойдет за признак? ))
Oracle прекратила разработку Java EE? Нет, это не признак заката Java. Вон была мобильная платформа J2ME, но её время прошло, ей на смену пришёл Android. То, что устаревшие Java-технологии заменяются более современными Java-технологиями, -- это не признак заката Java.

maytonИ учитывая плотное "сидение" платформы Android на java-подобных грамматиках ЯП - ему тем более не грозит утекание целого сегмента разработки. Больше там ни на чем не пишут.Java -- «default-ный» язык Android-а, но не единственный. Много Android-овских игр написано на C++ (в рамках Marmalade) и на C# (в рамках Unity).
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39311542
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пётр СедовmaytonИ учитывая плотное "сидение" платформы Android на java-подобных грамматиках ЯП - ему тем более не грозит утекание целого сегмента разработки. Больше там ни на чем не пишут.Java -- «default-ный» язык Android-а, но не единственный. Много Android-овских игр написано на C++ (в рамках Marmalade) и на C# (в рамках Unity).
По ключевому слову Андроид в gihub

https://github.com/search?utf8=?&q=android

можно нагуглить 240 тысяч проектов на Java и 18 тысяч на сях. Ниже идут прочие хештеги.

Я считаю что это достаточно репрезентативно.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39311560
Пётр Седов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonПётр Седовпропущено...
Java -- «default-ный» язык Android-а, но не единственный. Много Android-овских игр написано на C++ (в рамках Marmalade) и на C# (в рамках Unity).
По ключевому слову Андроид в gihub

https://github.com/search?utf8=?&q=android

можно нагуглить 240 тысяч проектов на Java и 18 тысяч на сях. Ниже идут прочие хештеги.

Я считаю что это достаточно репрезентативно.Нет. Исходники коммерческих игр обычно не выкладывают на GitHub. Мобильные игры часто делают кросс-платформенно, сразу на iOS и Android. Упомянутые технологии Marmalade и Unity в этом очень помогают, а вот с Java так легко не получится.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39311651
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пётр СедовНет. Исходники коммерческих игр обычно не выкладывают на GitHub. Мобильные игры часто делают кросс-платформенно, сразу на iOS и Android. Упомянутые технологии Marmalade и Unity в этом очень помогают, а вот с Java так легко не получится.
Ну хорошо. А откуда вы берете сведения о Marmalade и Unity ?
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39312179
Пётр Седов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonА откуда вы берете сведения о Marmalade и Unity ?А у меня нет точной статистики по Marmalade/Unity, просто эти технологии постоянно мелькают в вакансиях. А мобильные игры на Unity постоянно на слуху (Hearthstone, Pokemon Go, Angry Birds 2, Fallout Shelter). Я вообще-то возражал на ваше утверждение :
maytonБольше там ни на чем не пишут.Мол, почти все Android-овские программы написаны на Java (или JVM-языках). Это не так.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39312279
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пётр СедовМол, почти все Android-овские программы написаны на Java (или JVM-языках). Это не так.
Андроид не использует JVM в общем понимании этого слова.
У него своя линейка виртуальных машин от Google. Там - другой байткод. Но язык
программирования - Java.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39312292
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonПётр СедовМол, почти все Android-овские программы написаны на Java (или JVM-языках). Это не так.
Андроид не использует JVM в общем понимании этого слова.
У него своя линейка виртуальных машин от Google. Там - другой байткод. Но язык
программирования - Java.
PhoneGap, React Native, Xamarin... Где же там Java?
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39312301
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAPhoneGap, React Native, Xamarin... Где же там Java?
Дайте хоть примерную ссылку на статистику. Нужны - количество проектов
в разрезе каждого термина.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39312336
Пётр Седов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonАндроид не использует JVM в общем понимании этого слова.
У него своя линейка виртуальных машин от Google. Там - другой байткод. Но язык
программирования - Java.Но не обязательно использовать именно его, к счастью :). Это в отличие от платформы J2ME, для которой можно было писать только на Java (или JVM-языке), никакого C++.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39320337
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насчёт понятности кода для других. Мне тут один человек сказал, что лямбды в Джава лучше не использовать, так как их мало кто понимает. То есть выходит не следует использовать последние ништяки, пока все с ними не разберутся? А разве меня касается то, что кто-то возможно ещё не успел изучить лямбды? Пусть изучает, делов то.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39320350
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть такая точка зрения, в основном продвигаемая эффективными менеджерами, что надо ориентироваться на идиотов. Лично я предпочитаю не ориентироваться на эффективных менеджеров.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39320610
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XDiaBLoНасчёт понятности кода для других. Мне тут один человек сказал, что лямбды в Джава лучше не использовать, так как их мало кто понимает.
Я-бы ему порекомендовал вообще ничего не программировать. Ибо много мест непонятно да
и вообще на самолёте летать не стоит... он сложно устроен и иногда падает... ну вобщем
Человек в Футляре .. и Чехов рулит.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39320636
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

напомню тебе, что хдиабло это студент с 0 опытом. Конечно его мнение важно в архитектуре сложных распределенных систем, ради которых вообще нужна ява
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39320646
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XDiaBLoНасчёт понятности кода для других. Мне тут один человек сказал, что лямбды в Джава лучше не использовать, так как их мало кто понимает. То есть выходит не следует использовать последние ништяки, пока все с ними не разберутся? А разве меня касается то, что кто-то возможно ещё не успел изучить лямбды? Пусть изучает, делов то.
дык
только последние ништяки и стоит использовать.
появление всякого самого последнего ништяка автоматически означает, что какой-то из предыдущих ништяков надо немедленно выкинуть.
потому что
- количество ништяков, которые ты можешь одновременно унести, ограничено
- не понтово не пользоваться самыми последними ништяками
- самые последние ништяки самые лучшие, потому что самые молодые. А пока ты молодыми ништяками рулишь, ты и сам молодой.
- раз появились последние ништяки, значит кто-то из предыдущих обязательно умрет.
Вот появились лямбды, к примеру, значит - циклы for обязательно отменят.
И, если ты не успеешь переписать свой код с явных циклов на лямбды, то он в следующей версии явы код просто сломается и перестанет работать, потому что к тому времени устаревшие циклы отменят и исключат из описания языка.
А понимать - это зло. Как только ты что-то понял - оно сразу перестало быть ништяком.
Так жить вообще нельзя.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39320668
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby,
Что-то не пойму, сарказм или нет? :)
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39320671
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemarglmayton,

напомню тебе, что хдиабло это студент с 0 опытом. Конечно его мнение важно в архитектуре сложных распределенных систем, ради которых вообще нужна ява
Для студента староват однако. На Jave десктопные приложения пишу. Уж какие нужны на работе.
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39321185
scf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имхо, для эффективной работы над любым проектом, нужно располагать неким обязательным багажом знаний. Об языке, о библиотеках, о технологиях, об ахитектуре самого проекта.

Следует стремиться к тому, что этот самый багаж был а) минимальным по объему и б) в основном известен даже незнакомым с проектом людям. Это и называется "понятность". С другой стороны, со слишком маленьким багажом далеко не уедешь, если проект сложный или имеет высокие требования.

Но вот "знание синтаксиса java8" уже можно смело включать в обязательные требования для работы над проектом)
...
Рейтинг: 0 / 0
Хороший тон в программировании?
    #39321518
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
scfИмхо, для эффективной работы над любым проектом, нужно располагать неким обязательным багажом знаний. Об языке, о библиотеках, о технологиях, об ахитектуре самого проекта.

Следует стремиться к тому, что этот самый багаж был а) минимальным по объему и б) в основном известен даже незнакомым с проектом людям. Это и называется "понятность". С другой стороны, со слишком маленьким багажом далеко не уедешь, если проект сложный или имеет высокие требования.

Но вот "знание синтаксиса java8" уже можно смело включать в обязательные требования для работы над проектом)
Сейчас судя по вакансиям, Spring и Hibernate тоже в списке обязательных предметов.
...
Рейтинг: 0 / 0
153 сообщений из 153, показаны все 7 страниц
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Хороший тон в программировании?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]