
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.21] |
![]() |
|
Сообщ.
#1
,
|
|
|
Программистом-профессионалом некоторые называют человека, который сейчас зарабатывает деньги программированием.
Я считаю, что это не так. Зарабатывать деньги программированием может и любитель. Профессионал отличается тем, что всегда найдет работу программистом, независимо от модных технологий в данный момент. Любитель может получать столько же денег, сколько и профессионал, но он обязательно отстанет от тренда в технологиях и не сможет работать и зарабатывать дальше. Поэтому профессионал не ограничивается 8 часами кодинга на работе. Дома он непрерывно изучает новые технологии, еще на самой ранней стадии их появления. Изучение новых технологий невозможно без написания тестовых программ. Программист-профессионал программирует или изучает литературу по программированию при любой возможности. Такой программист не отстанет от тренда и не останется без работы. К какому типу программистов вы себя относите? Сколько строк кода в день пишет программист-профессионал - в порядке работы и в порядке обучения новым технологиям? |
Сообщ.
#2
,
|
|
|
Цитата zzzspuercoderzzz @ Любитель может получать столько же денег, сколько и профессионал, но он обязательно отстанет от тренда в технологиях с чего бы это? любителя его хобби может очень сильно мотивировать к такому доскональному изучению любимого предмета, которое для профессионала просто излишне. Добавлено Цитата zzzspuercoderzzz @ Зарабатывать деньги программированием может и любитель. ну да. на работе примуса починяет, вечером программирует, а по воскресеньям на вокзале на бояне играет. зарабатывает какие-то деньги программированием, но не программист-профессионал, ибо его профессия- не программист. |
Сообщ.
#3
,
|
|
|
Профессионал - это по определению тот, для кого рассматриваемый вид деятельности является профессией и средством зарабатывания денег.
|
Сообщ.
#4
,
|
|
|
Цитата zzzspuercoderzzz @ Сколько строк кода в день пишет программист-профессионал - в порядке работы и в порядке обучения новым технологиям? 16 |
Сообщ.
#5
,
|
|
|
Цитата zzzspuercoderzzz @ Поэтому профессионал не ограничивается 8 часами кодинга на работе. вообще говоря нормальный профессионал, который хорошо работает на работе, после работы- отдыхает. а время необходимое для обучения чему-то новому вполне может выделять компания. и даже оплачивать это время. Добавлено если некто занимается программированием после работы, то в этом он похож на любителя. |
Сообщ.
#6
,
|
|
|
Опять ips полез на форум... чего тебя тут приманивает?
холивар настолько бредовый, что я даже его комментировать не хочу. |
Сообщ.
#7
,
|
|
|
Профессионал - тот для, кого программирование профессия.
Любитель - тот для, кого программирование хобби. Квалификация и всё остальное могут быть больше как у первого, так и у второго. Цитата zzzspuercoderzzz @ Сколько строк кода в день пишет программист-профессионал - в порядке работы и в порядке обучения новым технологиям? Работа и обучение программиста заключается не только в "написании строк кода", поэтому бывает что и 0. |
Сообщ.
#8
,
|
|
|
Цитата IL_Agent @ поэтому бывает что и 0. Бывает что и минус ![]() |
Сообщ.
#9
,
|
|
|
Цитата Kenneth Thompson One of my most productive days was throwing away 1000 lines of code |
Сообщ.
#10
,
|
|
|
Это у писателей и флудеров строчки статистические, а у программистов динамический массив строк в файле.
|
![]() |
Сообщ.
#11
,
|
|
Не массив, а связный список, чтобы вставка в начало/середину быстро делалась
![]() |
Сообщ.
#12
,
|
|
|
Не, у самых продвинутых это вааще хэш-таблица
![]() |
![]() |
Сообщ.
#13
,
|
|
Цитата ya2500 @ если некто занимается программированием после работы, то в этом он похож на любителя. я занимаюсь программирование и на работе и дома, я любитель? ='( Добавлено Цитата zzzspuercoderzzz @ Сколько строк кода в день пишет программист-профессионал - в порядке работы и в порядке обучения новым технологиям? 42, этож очевидно |
Сообщ.
#14
,
|
|
|
Цитата Serafim @ Цитата ya2500 @ если некто занимается программированием после работы, то в этом он похож на любителя. я занимаюсь программирование и на работе и дома, я любитель? ='( Добавлено Цитата zzzspuercoderzzz @ Сколько строк кода в день пишет программист-профессионал - в порядке работы и в порядке обучения новым технологиям? 42, этож очевидно Профессионал это тот кто знает С/С++ даже если он работает на чем то другом , |
Сообщ.
#15
,
|
|
|
Цитата sergioK @ знает С/С++ Что ты под этим понимаешь ? |
![]() |
Сообщ.
#16
,
|
|
Цитата IL_Agent @ Что ты под этим понимаешь ? человек, который пишет на ассемблере, хаскеле и матлабе, но не знает сишки - это глупый любитель Добавлено а вообще фееричский сиплюсплюс головного мозга у написавшего подобное. Цитата sergioK @ Профессионал это тот кто знает С/С++ даже если он работает на чем то другом , |
![]() |
Сообщ.
#17
,
|
|
Цитата sergioK @ Профессионал это тот кто знает С/С++ даже если он работает на чем то другом LOLWUT? Сишка — архаичное поделие 70-х. В современном мире ей практически нет места. Если ты не пишешь драйвера, то знать сишку нет вообще никакой необходимости. |
Сообщ.
#18
,
|
|
|
Цитата korvin @ Сишка — архаичное поделие 70-х. В современном мире ей практически нет места. ![]() Да-да, место есть только для лиспов, хаскеля и Go ![]() |
![]() |
Сообщ.
#19
,
|
|
Цитата IL_Agent @ Способность перевести на него "Войну и мир". Цитата sergioK @ знает С/С++ Что ты под этим понимаешь ? Добавлено korvin, бородато и уже не торкает. |
Сообщ.
#20
,
|
|
|
Цитата IL_Agent @ Цитата sergioK @ знает С/С++ Что ты под этим понимаешь ? Уровень понимания, который в нормальных вузах учат совместно в языком С, т,е, как работает память , как работает OS , ресурсы , таски , Структуры данных , С шарпник не понимающий что abstract method это поинтер на функцию с моей точки зрения любитель , или не понимание зачем pedantic compilation оpen/close principal , Cишник который принимает в мэйне 6 агруметов потом два отсылает в одну функцию , а 4 в другую - такой же ламер , Как то так |
![]() |
Сообщ.
#21
,
|
|
Цитата sergioK @ С шарпник не понимающий что abstract method это поинтер на функцию а оно ему надо? ![]() Цитата sergioK @ pedantic compilation оpen/close principal чо? ![]() Цитата sergioK @ Cишник который принимает в мэйне 6 агруметов потом два отсылает в одну функцию , а 4 в другую - такой же ламер а как надо? ![]() |
Сообщ.
#22
,
|
|
|
Цитата Fester @ Цитата sergioK @ С шарпник не понимающий что abstract method это поинтер на функцию а оно ему надо? ![]() Цитата sergioK @ pedantic compilation оpen/close principal чо? ![]() Цитата sergioK @ Cишник который принимает в мэйне 6 агруметов потом два отсылает в одну функцию , а 4 в другую - такой же ламер а как надо? ![]() 1)Если он пишет веб сайты для маклерских контор то видимо нет , 2) Warning as error , ,т,е, открыл ты ресурс а закрыть забыл случайно , такое не должно компилиться , выставляеться либо флаг компиляции в gcc - Pedantic . либо через IDE , Если ресурс открыветься в одной функции то и закрываться он должен там , 3) Делать нормальный прокси , передавая такой же набор параметров другой функции , почему имеено 2 и 4 , а если завтра появяться еще 2 параметра то еще функцию писать? или порядок параметров поменяеться |
![]() |
Сообщ.
#23
,
|
|
Цитата sergioK @ 1)Если он пишет веб сайты для маклерских контор то видимо нет ты скажи, зачем ему это надо ![]() я уж не говорю о том, что зачем ему вообще надо использовать абстрактные функции? ![]() Цитата sergioK @ 2) Warning as error , ,т,е, открыл ты ресурс а закрыть забыл случайно , такое не должно компилиться , выставляеться либо флаг компиляции в gcc - Pedantic . либо через IDE Не знаю как это работает в gcc, но что-то я не припомню, чтобы присутствие CreateFile и отсутствие CloseHandle вызывало бы warning. А если не вызывает, то как поможет Warning as error? Цитата sergioK @ 3) Делать нормальный прокси , передавая такой же набор параметров другой функции , почему имеено 2 и 4 , а если завтра появяться еще 2 параметра то еще функцию писать? или порядок параметров поменяеться т.е. прокси менять не надо будет? ![]() если речь о плюсах, то разумно было бы сделать класс со всеми параметрами. если же речь о каких-то дополненных функциях, то смысла не вижу. |
Сообщ.
#24
,
|
|
|
Цитата sergioK @ с моей точки зрения любитель Он получает деньги за программирование. В соответствии со своей квалификацией и востребованностью таких специалистов на рынке. В чем, собственно, проблема? |
Сообщ.
#25
,
|
|
|
Цитата D_KEY @ Цитата sergioK @ с моей точки зрения любитель Он получает деньги за программирование. В соответствии со своей квалификацией и востребованностью таких специалистов на рынке. В чем, собственно, проблема? Это програмированием назвать трудно А вообще вопрос надо задать автору темы ![]() ![]() |
Сообщ.
#26
,
|
|
|
Цитата sergioK @ Это програмированием назвать трудно Программы пишет? Пишет. Значит программирование ![]() |
![]() |
Сообщ.
#27
,
|
|
Цитата sergioK @ т,е, как работает память, как работает OS, ресурсы, таски А при чем тут Си? Для понимания этого нужно читать про устройство ОС, а не что-то другое. Каким образом Си поможет понять например Oberon System или Genera OS? Цитата sergioK @ 3) Делать нормальный прокси , передавая такой же набор параметров другой функции , почему имеено 2 и 4 , а если завтра появяться еще 2 параметра то еще функцию писать? или порядок параметров поменяеться Т.к. по-твоему все процедуры в программе должны иметь одинаковое количество аргументов? Или по-твоему main — какая-то более особая процедура? Как интересно. |
![]() |
Сообщ.
#28
,
|
|
Цитата sergioK @ 2) Warning as error , ,т,е, открыл ты ресурс а закрыть забыл случайно , такое не должно компилиться , выставляеться либо флаг компиляции в gcc - Pedantic . либо через IDE , Отсутствующее закрытие не приводит к варнингу. Впрочем, неважно. А вот что действительно интересно - как при таком подходе использовать сторонние библиотеки, если в них зачастую эти самые варнинги - обычное явление ![]() |
Сообщ.
#29
,
|
|
|
Цитата OpenGL @ Цитата sergioK @ 2) Warning as error , ,т,е, открыл ты ресурс а закрыть забыл случайно , такое не должно компилиться , выставляеться либо флаг компиляции в gcc - Pedantic . либо через IDE , Отсутствующее закрытие не приводит к варнингу. Впрочем, неважно. А вот что действительно интересно - как при таком подходе использовать сторонние библиотеки, если в них зачастую эти самые варнинги - обычное явление ![]() ну смотри [CODE=java] Socket sock = new Socket("localhost", 8000); do something [/CODE=java] Есlipse выдает Description Resource Path Location Type Resource leak: 'sock' is never closed ...... Какая разница сторонние либы или нет ? открыл ресурс попользовал - закрой , в чем непонятка ? Грамотные люди ставят warning as error ,и подобное не скомпилируеться т,е, потенциальный баг поймаеться сразу, а не потом в продакшене , korvin Cи притом что эти вещи изучаються и описываються чаще всего примерах на языке С, Cамый простой пример, Меня много лет удивляет огромное кол-во людей не понимающих разницу между Array и Link list , хотя достаточно один раз посадить их в дебагер,и они эту разницу увидят , а пока не сели они не профессионалы IMHO, D_KEY Ясно что нет ![]() ![]() |
![]() |
Сообщ.
#30
,
|
|
Цитата sergioK @ Cи при том, что эти вещи изучаются и описываются чаще всего примерах на языке С. Знание Си не дает знания ОС само по себе. Также как и знание ОС не дает знания Си. Цитата sergioK @ Меня много лет удивляет огромное кол-во людей не понимающих разницу между Array и Link list И это не имеет к Си никакого отношения. Цитата sergioK @ хотя достаточно один раз посадить их в дебаггер, и они эту разницу увидят. Не факт, а вот наглядной картинки хватит даже идиотам. Цитата sergioK @ а пока не сели они не профессионалы IMHO И зачем им сидеть в дебаггере? Цитата The most effective debugging tool is still careful thought, coupled with judiciously placed print statements. - Brian Kernighan. |
![]() |
Сообщ.
#31
,
|
|
Цитата sergioK @ ну смотри Так это java. В плюсах на отсутствие закрытия мало того, что не ругается, так оно еще и автоматом в деструкторе делается ![]() |
![]() |
Сообщ.
#32
,
|
|
OpenGL, в си нет деструкторов
![]() |
![]() |
Сообщ.
#33
,
|
|
Цитата Fester @ OpenGL, в си нет деструкторов Он про плюсы вроде тоже говорил ![]() |
![]() |
Сообщ.
#34
,
|
|
sergioK, ты дикий тролль
![]() |
Сообщ.
#35
,
|
|
|
Цитата Fester @ OpenGL, в си нет деструкторов ![]() Really ?? |
![]() |
Сообщ.
#36
,
|
|
Цитата sergioK @ Really ?? а что, есть? ![]() |
Сообщ.
#37
,
|
|
|
Цитата sergioK @ Цитата Fester @ OpenGL, в си нет деструкторов ![]() Really ?? И после этого ты кого-то судишь? Позволь мне тебя процитировать ![]() Цитата sergioK @ Профессионал это тот кто знает С/С++ даже если он работает на чем то другом , |
![]() |
Сообщ.
#38
,
|
|
А в си есть конструкторы?
![]() |
Сообщ.
#39
,
|
|
|
Цитата D_KEY @ Там скорее табличка "САРКАЗМ". И после этого ты кого-то судишь? ![]() |
Сообщ.
#40
,
|
|
|
Цитата korvin @ Для понимания этого нужно читать про устройство ОС, а не что-то другое. Каким образом Си поможет понять например Oberon System или Genera OS? Программирование на Си помогает оказаться лицом к лицу с аппаратурой, особенности которой - это наполовину устройство ОС. Как программирование на Эрланге поможет понять, как устроены файберы (в Erlang - это процессы)? Если не курить исходники VM - никак. |
![]() |
Сообщ.
#41
,
|
|
Цитата Мяут-Настоящий @ Программирование на Си помогает оказаться лицом к лицу с аппаратурой Нет, ассемблер. |
Сообщ.
#42
,
|
|
|
Цитата Serafim @ А в си есть конструкторы? ![]() на уровне компайлера ![]() ![]() #include <stdio.h> __attribute__ ((__constructor__)) void pre_func(void) { printf("pre_func\n"); } или перехватывай malloc/exit если really need |
![]() |
Сообщ.
#43
,
|
|
А теперь вопрос, а нафиг оно надо? ЯП выбирается под требования
![]() Добавлено А конструкторы - это удел, как минимум плюсов |
Сообщ.
#44
,
|
|
|
Цитата Serafim @ А теперь вопрос, а нафиг оно надо? ЯП выбирается под требования ![]() это уже другой вопрос Я ответил на "есть ли" может вернемся к ресурсам? |
![]() |
Сообщ.
#45
,
|
|
Цитата sergioK @ это уже другой вопрос Я ответил на "есть ли" ответил костылём на сарказм, отлично |
Сообщ.
#46
,
|
|
|
Цитата korvin @ Нет, ассемблер. Программирование на ассемблере позволяет не познакомиться с аппаратной составляющей, а потонуть в ней ![]() |
Сообщ.
#47
,
|
|
|
Цитата OpenGL @ Цитата sergioK @ ну смотри Так это java. В плюсах на отсутствие закрытия мало того, что не ругается, так оно еще и автоматом в деструкторе делается ![]() Чего чего ![]() ![]() FILE *fp; fp=fopen("c:\\test.txt", "r"); и деструктор мне сам вызовет close ? |
![]() |
Сообщ.
#48
,
|
|
Цитата sergioK @ и деструктор мне сам вызовет close ? в пыхе да ![]() |
Сообщ.
#49
,
|
|
|
Цитата sergioK @ Цитата OpenGL @ Цитата sergioK @ ну смотри Так это java. В плюсах на отсутствие закрытия мало того, что не ругается, так оно еще и автоматом в деструкторе делается ![]() Чего чего ![]() ![]() FILE *fp; fp=fopen("c:\\test.txt", "r"); и деструктор мне сам вызовет close ? Это Си. Там нет деструкторов. ![]() ![]() std::ifstream f("c:\\test.txt"); Вот тут вызовется деструктор сам, да. Для FILE* и fopen как-то так можно ![]() ![]() auto f = std::shared_ptr<FILE>(fopen("c:\\test.txt", "r"), fclose)); |
Сообщ.
#50
,
|
|
|
Есть еще __attribute__((cleanup(fclose))), но это тоже GCC'изм
|
Сообщ.
#51
,
|
|
|
Цитата D_KEY @ ![]() ![]() std::ifstream f("c:\\test.txt"); Вот тут вызовется деструктор сам, да. Для FILE* и fopen как-то так можно ![]() ![]() auto f = std::shared_ptr<FILE>(fopen("c:\\test.txt", "r"), fclose)); Праильно потому что в деструкторе класса написали вызов метода close , хотя это IMHO момент спорный , буквально вчера была ситуация где закрытие происходит при некоем событии, уже после разрушения обьекта да а если обьект живет а ресурс уже не нужен ? Или как у меня бывало, есть у тебя ресурс например некий SAPConnector c методами connect и disconnect откуда твой деструктор сам узнает что нужно вызвать именно disconnect ? почему не сlose или destroy ? Именно по это причине в жаве вернулись к чистому С IMHO Вообще Я изначально сказал что открытие и закрытие должно происходить про принципу before/after , т,е в том же методе , это и есть open/close principle, ЯП тут не причем |
Сообщ.
#52
,
|
|
|
Цитата sergioK @ Вообще, при завершении программы все оставшиеся открытыми к тому времени файлы будут закрыты. Но не раньше. Так что обычно всё делается ручками.и деструктор мне сам вызовет close ? Перехват malloc мало что даёт. Разве что позволяет контролировать память. А exit вообще не из этой оперы. |
![]() |
Сообщ.
#53
,
|
|
Цитата sergioK @ Нормальные люди делают из ресурса объект. С конструктором и деструктором. И далее работают не с ресурсами. Не нормальные - выдумывают костыли, издалека похожие на конструктор и деструктор. Праильно потому что в деструкторе класса написали вызов метода close , хотя это IMHO момент спорный , буквально вчера была ситуация где закрытие происходит при некоем событии, уже после разрушения обьекта да а если обьект живет а ресурс уже не нужен ? |
![]() |
Сообщ.
#54
,
|
|
Цитата sergioK @ да а если обьект живет а ресурс уже не нужен ? Тогда закрыть руками, как это ни странно ![]() |
Сообщ.
#55
,
|
|
|
Цитата amk @ Цитата sergioK @ Вообще, при завершении программы все оставшиеся открытыми к тому времени файлы будут закрыты. Но не раньше. Так что обычно всё делается ручками.и деструктор мне сам вызовет close ? Перехват malloc мало что даёт. Разве что позволяет контролировать память. А exit вообще не из этой оперы. Так это ось вызовет , а ее нагружать не хочеться , Qraizer Обьект или не обьект метод закрывающий ресурс ты должен вызвать сам , в деструкторе или нет Я говорю о has a в случае когда обьект не уничтожаеться, ты о is a что лучше зависит от задачи , Меня пытаються убедить в чудо компайлере который догадаеться что у ресурса есть метод закрывающий ресурс, и сможет его вызвать |
Сообщ.
#56
,
|
|
|
Цитата sergioK @ Именно по это причине в жаве вернулись к чистому С IMHO Ну не думаю, что создатели Java думали только о деструкторах Цитата sergioK @ Или как у меня бывало, есть у тебя ресурс например некий SAPConnector c методами connect и disconnect откуда твой деструктор сам узнает что нужно вызвать именно disconnect ? почему не сlose или destroy ? В Сишке это рулится соглашениями об именовании функций. Я вот например называю все "деструкторы" <objname>_destroy ![]() |
![]() |
Сообщ.
#57
,
|
|
Цитата sergioK @ Меня пытаються убедить в чудо компайлере который догадаеться что у ресурса есть метод закрывающий ресурс, и сможет его вызвать Вообще-то это ты высказал мысль, что коймпайлер должен кидать warning в том случае, если ресурс был открыт, но не был закрыт.... |
![]() |
Сообщ.
#58
,
|
|
Цитата sergioK @ Меня пытаються убедить в чудо компайлере который догадаеться что у ресурса есть метод закрывающий ресурс, и сможет его вызвать О чудо-компиляторах, догадывающихся о существовании метода и о том, что его забыли вызвать, рассказываешь ты ![]() |
Сообщ.
#59
,
|
|
|
Цитата Fester @ Цитата sergioK @ Меня пытаються убедить в чудо компайлере который догадаеться что у ресурса есть метод закрывающий ресурс, и сможет его вызвать Вообще-то это ты высказал мысль, что коймпайлер должен кидать warning в том случае, если ресурс был открыт, но не был закрыт.... если не компайлер то IDE, look attachment, с опцией warning as error хотя он тоже не все могущь Цитата В Сишке это рулится соглашениями об именовании функций. Я вот например называю все "деструкторы" <objname>_destroy т.е т.е строишь interface, это для тех у кого в си нету классов ![]() |
![]() |
Сообщ.
#60
,
|
|
Цитата sergioK @ если не компайлер то IDE, look attachment, с опцией warning as error хотя он тоже не все могущь Warning as error - опция именно компилятора. А то, о чем ты говоришь - статический анализ. И то - он не обязан работать со всеми библиотеками ![]() |
![]() |
Сообщ.
#61
,
|
|
Цитата Мяут-Настоящий @ Я не думаю, что они о них вообще думали. Иначе б ввели. Впрочем, они и ввели... ну почти. А то этот их сборщик, живущий собственной жизнью, когда там соизволит разрушить объекты, владеющие рерусами... юзер с матюгами к тому времени уже сам прибьёт отолстевшую задачу из таск менеджера. Ну не думаю, что создатели Java думали только о деструкторах |
![]() |
Сообщ.
#62
,
|
|
Толстота Java-программ не из-за сборки мусора.
|
![]() |
Сообщ.
#63
,
|
|
Цитата korvin @ Толстота Java-программ не из-за сборки мусора. а из-за его наличия ![]() |
![]() |
Сообщ.
#64
,
|
|
Цитата Serafim @ а из-за его наличия И это говорит любитель пыха и жабоскрипта... |
Сообщ.
#65
,
|
|
|
В PHP и JavaScript нет сборщика мусора, потому что там все мусор
![]() |
![]() |
Сообщ.
#66
,
|
|
Цитата korvin @ И это говорит любитель пыха и жабоскрипта... я ещё питон люблю. Ну что, слабо на святое покушаться, а? всё, да? ![]() Добавлено Цитата Мяут-Настоящий @ В PHP и JavaScript нет сборщика мусора, потому что там все мусор плагиатчик ![]() |
Сообщ.
#67
,
|
|
|
Цитата sergioK @ да а если обьект живет а ресурс уже не нужен ? Это как? Цитата Или как у меня бывало, есть у тебя ресурс например некий SAPConnector c методами connect и disconnect откуда твой деструктор сам узнает что нужно вызвать именно disconnect ? почему не сlose или destroy ? В чем проблема? Цитата Именно по это причине в жаве вернулись к чистому С IMHO Ты ошибаешься. Они как раз идут к автоматическому закрытию см. try with resources ![]() ![]() public static void writeToFileZipFileContents(String zipFileName, String outputFileName) throws java.io.IOException { java.nio.charset.Charset charset = java.nio.charset.StandardCharsets.US_ASCII; java.nio.file.Path outputFilePath = java.nio.file.Paths.get(outputFileName); // Open zip file and create output file with // try-with-resources statement try ( java.util.zip.ZipFile zf = new java.util.zip.ZipFile(zipFileName); java.io.BufferedWriter writer = java.nio.file.Files.newBufferedWriter(outputFilePath, charset) ) { // Enumerate each entry for (java.util.Enumeration entries = zf.entries(); entries.hasMoreElements();) { // Get the entry name and write it to the output file String newLine = System.getProperty("line.separator"); String zipEntryName = ((java.util.zip.ZipEntry)entries.nextElement()).getName() + newLine; writer.write(zipEntryName, 0, zipEntryName.length()); } } } Это аналог using в C# и with в питоне. |
Сообщ.
#68
,
|
|
|
не совсем это так если он closeable a часто бывает что нет |
Сообщ.
#69
,
|
|
|
Цитата sergioK @ не совсем это так если он closeable a часто бывает что нет Сделай объект, который будет closeable, в чем проблема? Можно сделать какую-то общую обертку, как contextlib.closing в питоне. ![]() ![]() from contextlib import closing import urllib with closing(urllib.urlopen('http://www.python.org')) as page: for line in page: print line |
Сообщ.
#70
,
|
|
|
Цитата sergioK @ Меня пытаються убедить в чудо компайлере который догадаеться что у ресурса есть метод закрывающий ресурс, и сможет его вызвать Цитата sergioK @ Шозабред? Значит в чудо-компилятор, который должен догадываться о методах для закрытия ресурса ты не веришь, а в магические чудо-IDE обладающие такими возможностями таки веришь. если не компайлер то IDE, look attachment, с опцией warning as error хотя он тоже не все могущь ![]() Впрочем начинающие недопрограммисты часто путают IDE и компилятор. ![]() |
![]() |
Сообщ.
#71
,
|
|
Цитата Serafim @ я ещё питон люблю. Ну что, слабо на святое покушаться, а? всё, да? ![]() Питон --- святое? Разве что у сатанистов. |
Сообщ.
#72
,
|
|
|
У корвина святое - это хорошо высушенный девятый план
![]() Молиться, поститься, курить Plan 9. |
Сообщ.
#73
,
|
|
|
Цитата korvin @ Питон --- святое? Разве что у сатанистов. Можешь назвать язык программирования, который используют, но при этом он не является "плохим" с твоей точки зрения? По-моему все языки плохие, но на некоторых вполне можно создавать софт, соответствующий тем или иным требованиям, а на других это делать сложнее. |
![]() |
Сообщ.
#74
,
|
|
Цитата korvin @ Питон --- святое? Разве что у сатанистов. ну значит нет для тебя ничего святого ![]() |
![]() |
Сообщ.
#75
,
|
|
Цитата D_KEY @ Можешь назвать язык программирования, который используют, но при этом он не является "плохим" с твоей точки зрения? По-моему все языки плохие, но на некоторых вполне можно создавать софт, соответствующий тем или иным требованиям, а на других это делать сложнее. И они от этого становятся чем-то святым? |
Сообщ.
#76
,
|
|
|
Цитата korvin @ Цитата D_KEY @ Можешь назвать язык программирования, который используют, но при этом он не является "плохим" с твоей точки зрения? По-моему все языки плохие, но на некоторых вполне можно создавать софт, соответствующий тем или иным требованиям, а на других это делать сложнее. И они от этого становятся чем-то святым? Нет. Так ответишь? |
![]() |
Сообщ.
#77
,
|
|
Цитата D_KEY @ Так ответишь? Чтобы ты попытался развязать холивар, на который все равно никто не поведется? =) Ну пожалуйста: Go, Haskell, Erlang. Иногда Common Lisp и Racket (во всяком случае недавно на ЛОРе проскочила инфа, что в "Last of Us" используется Racket, вроде даже с пруфами, но я особо не смотрел). F#, Clojure вроде неплохи, несмотря на то, что .NET и JVM. |
Сообщ.
#78
,
|
|
|
Как и следовало ожидать, одна сплошная маргинальщина
![]() ![]() |
Сообщ.
#79
,
|
|
|
Цитата D_KEY @ Как и следовало ожидать, одна сплошная маргинальщина Erlang не маргинальщина! ![]() |
![]() |
Сообщ.
#80
,
|
|
Цитата D_KEY @ одна сплошная маргинальщина Что там маргинального? Цитата (позднелат. marginali — находящийся на краю) — социологическое понятие, обозначающее промежуточность, «пограничность» положения человека между какими-либо социальными группами, что накладывает определённый отпечаток на его психику. Это понятие появилось в американской социологии в 1920-е для обозначения ситуации неадаптации иммигрантов к новым социальным условиям. Зачем ты приплетаешь гуманитарные термины к техническим объектам? |
Сообщ.
#81
,
|
|
|
Цитата korvin @ Что там маргинального? Он намекает на деклассированность, невостребованность и прочее подобное. В общем один финт ушами до илитарности ![]() |
Сообщ.
#82
,
|
|
|
Цитата korvin @ к техническим объектам? Что? И да, во-первых, я думаю, что ты меня понял, а во-вторых, при обсуждении выбора людей гуманитарные термины вполне применимы ![]() |
Сообщ.
#83
,
|
|
|
Я слыхал, что самый святой язык - MQL, потому что на нем Святой Грааль ищут
![]() |
![]() |
Сообщ.
#84
,
|
|
Цитата D_KEY @ во-первых, я думаю, что ты меня понял Я тебя понял, ты как обычно консерватор. Цитата D_KEY @ во-вторых, при обсуждении выбора людей гуманитарные термины вполне применимы Мы не обсуждали выбор, мы обсуждали алгоритмические языки. Ничего общего с гуманитариями. Добавлено Если уж на то пошло, то маргинальщина — это, например, COBOL и FoxPro. |
Сообщ.
#85
,
|
|
|
Цитата korvin @ Мы не обсуждали выбор, мы обсуждали алгоритмические языки. Ну вообще я спрашивал про языки которыми пользуются ![]() |
![]() |
Сообщ.
#86
,
|
|
Цитата D_KEY @ Ну вообще я спрашивал про языки которыми пользуются Я их перечислил. Хочешь сказать, ими не пользуются? Или по-твоему маргинальщина — это все, чем пользуется не большинство? Ну там, мерседес S-класса, да? |
Сообщ.
#87
,
|
|
|
Цитата korvin @ Я тебя понял, ты как обычно консерватор. Из того, что ты перечислил, разве что Go является новым. F# действительно неплох, насколько я могу судить, но вот почему-то им не пользуются. Видимо, преимуществ перед C# немного. Цитата Если уж на то пошло, то маргинальщина — это, например, COBOL и FoxPro. Ими пользовались хотя бы раньше. CL же, например, постоянно "там". Добавлено Цитата korvin @ Я их перечислил. Хочешь сказать, ими не пользуются? Или по-твоему маргинальщина — это все, чем пользуется не большинство? Ну там, мерседес S-класса, да? Большинство бы с удовольствием пользовались мерседесом S-класса, они просто не имеют такой возможности. Тут же ситуация обратная. Инструменты, претендующие на элитарность, должны предоставлять какие-то особые возможности, повышать эффективность труда и пр. Если бы это было так, то ими бы пользовались многие в условиях широкой доступности, т.к. данные свойства повышают конкурентоспособность. Но мы не наблюдаем этого. |
![]() |
Сообщ.
#88
,
|
|
Цитата D_KEY @ но вот почему-то им не пользуются Откуда ты знаешь, что не пользуются? Кто-то вроде использует, но я эту инфу не проверял. Цитата D_KEY @ Ими пользовались хотя бы раньше. CL же, например, постоянно "там". CL'ом пользуются и сейчас. И пишут новые библиотеки для него, в отличие от. Цитата D_KEY @ Большинство бы с удовольствием пользовались мерседесом S-класса, они просто не имеют такой возможности. Тут же ситуация обратная. Тут ситуация точно такая же. Только вложить нужно не бумажные деньги, а свои интеллектуальные ресурсы. Чтобы осилить, чтобы дописать недостающие библиотеки. Цитата D_KEY @ Инструменты, претендующие на элитарность Никакой из перечисленных мной языков не претендует ни на какую «элитарность». Разве что в умах школоты. Но ты же не школьник. Цитата D_KEY @ Если бы это было так, то ими бы пользовались многие в условиях широкой доступности, т.к. данные свойства повышают конкурентоспособность. Но мы не наблюдаем этого. Кто освоил — пользуется. Например. |
Сообщ.
#89
,
|
|
|
Цитата korvin @ Кто освоил — пользуется. Например. Ты его приводишь в пример уже пару-тройку лет, если заходит разговор о работе на CL. Меж тем работодатель этого товарища - EMC - набирает пачками программистов на C++, Java и там ещё много чего. |
Сообщ.
#90
,
|
|
|
С тем же успехом можно сказать, что кто-то пользуется обероном или даже паскалем. Цитата Цитата D_KEY @ Большинство бы с удовольствием пользовались мерседесом S-класса, они просто не имеют такой возможности. Тут же ситуация обратная. Тут ситуация точно такая же. Только вложить нужно не бумажные деньги, а свои интеллектуальные ресурсы. Если бы это было выгодно, то проблемой бы не являлось. Цитата Никакой из перечисленных мной языков не претендует ни на какую «элитарность». Не я начала эти разговоры |
![]() |
Сообщ.
#91
,
|
|
Цитата MyNameIsIgor @ Ты его приводишь в пример уже пару-тройку лет, если заходит разговор о работе на CL Дык я и списки LW и Franz приводил, но вы продолжаете спрашивать. Цитата MyNameIsIgor @ Меж тем работодатель этого товарища - EMC - набирает пачками программистов на C++, Java и там ещё много чего. Конечно, их нужно много, такие языки. Однако это не означает, что он еще недавно не юзал успешно CL в своей профессиональной деятельности. Добавлено Цитата D_KEY @ С тем же успехом можно сказать, что кто-то пользуется обероном или даже паскалем. Насчет оберона и чистого паскаля не знаю, но Делфи, как это ни странно, пользуются. Но разве для оберона и паскаля пишут сейчас библиотеки? Цитата D_KEY @ Если бы это было выгодно, то проблемой бы не являлось. Как будто иметь мерседес S-класса — выгодно. Цитата D_KEY @ Не я начала эти разговоры Молодец |
Сообщ.
#92
,
|
|
|
Цитата korvin @ Конечно, их нужно много, такие языки. Ты хочешь сказать, что разница в количестве программистов на этих языках диктуется исключительно разницей выразительностью языков? ![]() |
![]() |
Сообщ.
#93
,
|
|
Цитата korvin @ Насчет оберона и чистого паскаля не знаю, но Делфи, как это ни странно, пользуются. Экзотикой пользуются либо по историческим причинам, либо чтобы "подсадить клиента на иглу". Яркий пример этому студия Лебедева, которая делает сайты на каком-то там парсере ![]() Это просто гениальная придумка Лебедева ![]() Другой пример - контора в котороя сейчас работаю. Половина кода была написана 20 лет тому назад на smalltalk'e и еще до недавнего времени набирали smalltalk программистов. И только в том году решили начать постепенно переписывать старые модули на c#. |
Сообщ.
#94
,
|
|
|
Цитата korvin @ Делфи, как это ни странно, пользуются. Вот так вот ненавязчиво тема превратилась в очередную "Delphi vs. ..." |
![]() |
Сообщ.
#95
,
|
|
Цитата MyNameIsIgor @ Ты хочешь сказать, что разница в количестве программистов на этих языках диктуется исключительно разницей выразительностью языков? Нет, не хочу. Цитата Fester @ "подсадить клиента на иглу" Для этого и экзотика-то не особо нужна. Цитата Fester @ И только в том году решили начать постепенно переписывать старые модули на c#. Почему все же решили? Почему так поздно решили? Через лет пять-десять M$ сменит «основной» язык, опять переписывать будете? |
Сообщ.
#96
,
|
|
|
Цитата korvin @ Нет, не хочу. Ну, извини, тогда эти слова не к месту. |
Сообщ.
#97
,
|
|
|
Цитата applegame @ Цитата sergioK @ Меня пытаються убедить в чудо компайлере который догадаеться что у ресурса есть метод закрывающий ресурс, и сможет его вызвать Цитата sergioK @ Шозабред? Значит в чудо-компилятор, который должен догадываться о методах для закрытия ресурса ты не веришь, а в магические чудо-IDE обладающие такими возможностями таки веришь. если не компайлер то IDE, look attachment, с опцией warning as error хотя он тоже не все могущь ![]() Впрочем начинающие недопрограммисты часто путают IDE и компилятор. ![]() Плохо наверно мысль излагаю, ну и файл приатаченный ты не смотрел естесно ![]() У меня в IDE есть около сотни опций (warning as error) какие из них ловит компилятор и какие сама IDE (статический анализ) Я не знаю, в документации нечего толком не нашел , Это то что Я сказал , мне казалось что это очевидно но а принципе мне без разницы главное результат тот что я хотел это раз Один вид ошибок " суммарной компиляции " это resource leak.У стандртных обькетов есть метод close , вызов которого прописан разработчиками , не тоесть "компилятор сам подставит". в том же basic_ifstream вызоветься close потому что разработчики класса прописали его вызов , а не чудо компилятор о прочел их мысли ![]() т,е когда говорят "компилятор сам подставит " в моем понимании есть две крайности либо говорящий подразумевает что это и ежу понятно, либо несет херню о которой сам не догадыветься , среднего нет, кто из пишущих в какой категории через веб понять не всегда просто, это два Теперь если этот метод другой или нужно перед вызовом close сделать что-то еще то написать ты должен это сам(способов реализации много) т,е компилятор не телепат ![]() в версии 7 try(...) и для тех кто implement closable ,и как праильно сказал D_KEY можно свой обьект сделать таким , только он не учел что работаешь в команде и рефактить код не всегда просто , в С++ все тоже самое только есть деструктор, это три , Так кто там у нас чего путает и с чем ![]() ![]() |
![]() |
Сообщ.
#98
,
|
|
Цитата MyNameIsIgor @ Ну, извини, тогда эти слова не к месту. Почему же? Ты ж не работаешь в той компании, откуда тебе знать, почему они набирают пачки? оффтоп З.Ы. В какой теме на этом форуме будет корректней всего задать вопрос про отладку конкурентных приложений (безотносительно языка)? |
Сообщ.
#99
,
|
|
|
Цитата korvin @ Почему же? Ты ж не работаешь в той компании, откуда тебе знать, почему они набирают пачки? Во-первых, следуя такой логике твои слова опять таки не уместны, ибо ты не там работаешь и такие выводы делать не можешь. Во-вторых, кое-какой инфой о наборе по крайне мере в Питере я обладаю. |
![]() |
Сообщ.
#100
,
|
|
sergioK, как ты не можешь понять такую простую вещь. Любое пользование любым ресурсом правильно, пока подчиняется конкретным контрактам, и неправильно, если оно их нарушает. Контрактов даже для одного и того же ресурса может существовать бесконечное множество, и в принципе невозможно им всем научить что-то статичное, будь то компилятор, статический анализатор или IDE. Новым контрактам по-любому придётся научить и указать, когда и где применять. Внимание, вопрос: где и как это сделать наиболее просто? В компиляторе? В языке? В IDE? Та в классе же! Во-первых потому, что неважно, писать ли конструктор/деструктор для RAII-класса или скрипт для IDE, писать всё равно надо. Во-вторых, используя класс, неправильно его использовать просто не получится. В отличие от галочек в параметрах проекта или IDE.
|
Сообщ.
#101
,
|
|
|
Цитата Qraizer @ sergioK, как ты не можешь понять такую простую вещь. Любое пользование любым ресурсом правильно, пока подчиняется конкретным контрактам, и неправильно, если оно их нарушает. Контрактов даже для одного и того же ресурса может существовать бесконечное множество, и в принципе невозможно им всем научить что-то статичное, будь то компилятор, статический анализатор или IDE. Новым контрактам по-любому придётся научить и указать, когда и где применять. Внимание, вопрос: где и как это сделать наиболее просто? В компиляторе? В языке? В IDE? Та в классе же! Во-первых потому, что неважно, писать ли конструктор/деструктор для RAII-класса или скрипт для IDE, писать всё равно надо. Во-вторых, используя класс, неправильно его использовать просто не получится. В отличие от галочек в параметрах проекта или IDE. Я это понимал когда еще студентом был, А вот фразу типа "компайлер сам вызовет нужный метод " и фраза эта не моя, Я не понимаю, без нее не стал бы и пяти минут тратить на это тему ![]() |
Сообщ.
#102
,
|
|
|
Цитата sergioK @ в версии 7 try(...) и для тех кто implement closable ,и как праильно сказал D_KEY можно свой обьект сделать таким , только он не учел что работаешь в команде и рефактить код не всегда просто , в С++ все тоже самое только есть деструктор И AutoCloseable в Java и IDisposable в C# - это нормальная практика, которой должны следовать программисты и команды в целом. Я уже не говорю о C++, где не закрыть в деструкторе ресурс, которым владеешь, не просто дурной тон, а жуткая ошибка, за которую я даже не знаю, что с тобой сделают ![]() Да, в Java очень давно используется просто finally(кстати, замена тривиального кода с освобождением ресурса в finally на try-with-resources может вполне осуществлять IDE в рамках авторефакторинга), но никакой проблемы с тем, чтобы постепенно перейти на более логичную концепцию я не вижу. Тоже самое касается питона или (наверное) шарпа. |
![]() |
Сообщ.
#103
,
|
|
sergioK, а что в этой фразе не так?
Добавлено Ты заканчиваешь работу с ресурсом, компилятор сам в полном соответствии с изученным контрактом вызывает метод его освобождения. Какие проблемы-то? Зачем варнинги, если и дураку будет понятно, что тут ошибка, и её надо исправить, тем более программер даже объяснил, как. |
![]() |
Сообщ.
#104
,
|
|
Цитата MyNameIsIgor @ Во-вторых, кое-какой инфой о наборе по крайне мере в Питере я обладаю. А при чем тут Питер? |
Сообщ.
#105
,
|
|
|
Цитата D_KEY @ Цитата sergioK @ в версии 7 try(...) и для тех кто implement closable ,и как праильно сказал D_KEY можно свой обьект сделать таким , только он не учел что работаешь в команде и рефактить код не всегда просто , в С++ все тоже самое только есть деструктор И AutoCloseable в Java и IDisposable в C# - это нормальная практика, которой должны следовать программисты и команды в целом. Я уже не говорю о C++, где не закрыть в деструкторе ресурс, которым владеешь, не просто дурной тон, а жуткая ошибка, за которую я даже не знаю, что с тобой сделают ![]() Да, в Java очень давно используется просто finally(кстати, замена тривиального кода с освобождением ресурса в finally на try-with-resources может вполне осуществлять IDE в рамках авторефакторинга), но никакой проблемы с тем, чтобы постепенно перейти на более логичную концепцию я не вижу. Тоже самое касается питона или (наверное) шарпа. В С++ это жуткая ошибка а жаве или C# менее жуткая ![]() Ну все подряд делать closeable только ради try-with-resource это перегиб , Qraizer Просто никогда не слышал что бы так говорили, И все |
Сообщ.
#106
,
|
|
|
Хехе. Говнокодный компилятор D (очень маргинальный язык
![]() ![]() |
Сообщ.
#107
,
|
|
|
Цитата sergioK @ Ну все подряд делать closeable только ради try-with-resource это перегиб Зачем все подряд? Только то, что владеет ресурсом. |
Сообщ.
#108
,
|
|
|
Цитата korvin @ А при чем тут Питер? Я имел в виду EMC в Питере. |
Сообщ.
#109
,
|
|
|
Цитата MyNameIsIgor @ Я имел в виду EMC в Питере. Ты там работаешь? |
Сообщ.
#110
,
|
|
|
Цитата zveroboy @ Цитата MyNameIsIgor @ Я имел в виду EMC в Питере. Ты там работаешь? Нет |
Сообщ.
#111
,
|
|
|
Цитата D_KEY @ Цитата sergioK @ Ну все подряд делать closeable только ради try-with-resource это перегиб Зачем все подряд? Только то, что владеет ресурсом. вот пример , как его перестроишь на try-with resources ? ![]() ![]() OutputStreamWriter wr = null; BufferedReader rd = null; try { // Send data URL url = new URL(urlAdress); URLConnection conn = url.openConnection(); conn.setDoOutput(true); OutputStream outputStream = conn.getOutputStream(); wr = new OutputStreamWriter(outputStream); wr.write(data); wr.flush(); // get response in order to complete sending the request rd = new BufferedReader(new InputStreamReader(conn.getInputStream())); } catch (ConnectException e) { LogUtil.logMessage("sendNotificationRequest", "UI is down - notification wasn't sent", logger, LogUtil.INFO); } catch (Exception e) { LogUtil.logError("sendNotificationRequest", e, logger); } finally { try { if (wr != null) { wr.close(); } if (rd != null) { rd.close(); } } catch (IOException e) { LogUtil.logError("sendNotificationRequest", e, logger); } } |
Сообщ.
#112
,
|
|
|
Цитата sergioK @ вот пример Лапша то какая ![]() Цитата sergioK @ как его перестроишь на try-with resources ? ![]() ![]() try { // Send data URL url = new URL(urlAdress); URLConnection conn = url.openConnection(); conn.setDoOutput(true); OutputStream outputStream = conn.getOutputStream(); try(OutputStreamWriter wr = new OutputStreamWriter(outputStream)) { wr.write(data); wr.flush(); } // get response in order to complete sending the request try(BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()))) {} } catch (ConnectException e) { LogUtil.logMessage("sendNotificationRequest", "UI is down - notification wasn't sent", logger, LogUtil.INFO); } catch (IOException e) { LogUtil.logError("sendNotificationRequest", e, logger); } catch (Exception e) { LogUtil.logError("sendNotificationRequest", e, logger); } |
![]() |
Сообщ.
#113
,
|
|
Цитата MyNameIsIgor @ Лапша то какая Китайская, похоже. |
![]() |
Сообщ.
#114
,
|
|
Цитата applegame @ Говнокодный компилятор D (очень маргинальный язык ) вообще не освобождает память. Интересный подход ![]() |
Сообщ.
#115
,
|
|
|
Не очень знаю особенности Java, но в примере, приведённом выше, бросилось в глаза, почему конструкторы внутри try. Про C# могу сказать, что инициализатор оператора using выполняется перед блоком try. В версиях .Net до 4.5 была даже опасная ошибка с перемещением операторов в try:
![]() ![]() try { _readerWriterLock.AcquireWriteLock(); //...do stuff } finally { _readerWriterLock.ReleaseWriteLock(); } А при обработке подобных ресурсов (как в примере выше) я обычно просто использую вложенные операторы using. |
Сообщ.
#116
,
|
|
|
Цитата Ilya81 @ Не очень знаю особенности Java, но в примере, приведённом выше, бросилось в глаза, почему конструкторы внутри try. потому что иначе не скомпилируеться ,в С# нет throws, который обязывает сделать try catch . И там и там косяк(try понимает только те кто implement disposable ) а точнее попытка компенсироваить отсутсвие деструктора , Да если обьек member класса , то try не поможет |
Сообщ.
#117
,
|
|
|
Цитата Ilya81 @ но в примере, приведённом выше, бросилось в глаза, почему конструкторы внутри try. Это как раз вместо using в C#. try with resources |
![]() |
Сообщ.
#118
,
|
|
Цитата D_KEY @ Это как раз вместо using в C# Он про ![]() ![]() try { File f = new File("..."); // do something with f } finally { f.close(); } вместо ![]() ![]() File f = new File("..."); try { // do something with f } finally { f.close(); } как я понял из его примера. Суть в том, что, если в конструкторе внутри try возникнет исключение например и ресурс не будет захвачен, то finally все равно выполнит код по освобождению ресурса. Поэтому у сержио проверка на null внутри finally. Кстати, ни в примере сержио, ни в примере Игоря нет вызова conn.disconnect(). Я конечно хз насколько он необходим, но когда сам искал пример работы с http, нашел пример, в котором этот самый conn.disconnect() есть. |
Сообщ.
#119
,
|
|
|
Цитата korvin @ Я конечно хз насколько он необходим, но когда сам искал пример работы с http, нашел пример, в котором этот самый conn.disconnect() есть. А я сам хз, я просто код исправлял без потери семантики ![]() |
![]() |
Сообщ.
#120
,
|
|
Цитата MyNameIsIgor @ А я сам хз, я просто код исправлял без потери семантики А, ну да, не подумал. =) |
Сообщ.
#121
,
|
|
|
Цитата korvin @ Кстати, ни в примере сержио, ни в примере Игоря нет вызова conn.disconnect(). Я конечно хз насколько он необходим, но когда сам искал пример работы с http, нашел пример, в котором этот самый conn.disconnect() есть. Какой еще дисконект ? у какого класса ? MyNameIsIgor Cпасибо а а то после 10 часов отладки бревна не увидел запарили рефактить q&d ![]() |
Сообщ.
#122
,
|
|
|
Цитата UncleBob @ Цитата zzzspuercoderzzz @ Сколько строк кода в день пишет программист-профессионал - в порядке работы и в порядке обучения новым технологиям? 16 Я думал 18.... Добавлено Цитата sergioK @ я занимаюсь программирование и на работе и дома, я любитель? ='( ![]() Я вобще не пойму почему автор темы ограничился только профессионалам и любителем, а как же задрот. Вот например простой пример задорта. Задрот программирует и днем и ночью, задрот программист никогда ничем не занимался и не займется кроме программирования. Все разговоры о программировании. К томуже может сутками мыслить какая из двух одинаковых функций лучше. Профессионал изучает то за что ему заплатят. И на столько глубоко на сколько это требуется для работы. Любитель же изучает только то что ему нужно и очень глубоко, и никогда не ограничивается чем то одним. |
![]() |
Сообщ.
#123
,
|
|
Я за месяц написал 1856+80+6241+12759+31+145 = 21112. Это чистых, без учёта "черновых". В ноябре 20 рабочих дней. Получается ~1000 в день. Я похож на профессионала?
Добавлено Среди них есть и комментарии, конечно. Причём немало. Их считать можно? |
Сообщ.
#124
,
|
|
|
Цитата Qraizer @ Получается ~1000 в день Мать моя женщина... Не, я всегда знал, что медленно пишу, но не знал, что на столько: у меня 300-400 отлаженных строк в день (при разработке, а не багфиксе). |
Сообщ.
#125
,
|
|
|
Цитата Qraizer @ O_O Мда, а я бывает и за неделю - ни строчки кода. Сижу, таблички портов ввода/вывода или обмена данными расписываю. Я за месяц написал 1856+80+6241+12759+31+145 = 21112. ![]() |
![]() |
Сообщ.
#126
,
|
|
![]() |
Сообщ.
#127
,
|
|
|
Цитата Qraizer @ Дидлайн, однако. Это как? Уже дидлайн, а работа еще не начиналась, и теперь все что за полгода нужно было сделать, было написано за последний месяц? ![]() |
![]() |
Сообщ.
#128
,
|
|
За почти год было написано в общей сложности 164к строк. Это даёт примерно 750 строк в день. Но нас было трое, ревьюжили друг друга. Это сейчас я один пишущий остался, второй только ревьюжит.
P.S. До конца года надо успеть написать ещё ~2500. Думаю, справимся. |
Сообщ.
#129
,
|
|
|
Завидую я вам... Вы хоть примерно или точно знаете, что должно получится в итоге...
|
Сообщ.
#130
,
|
|
|
Цитата Keepun @ Завидую я вам... Вы хоть примерно или точно знаете, что должно получится в итоге... Откуда такой вывод? Думаю, такая удача редко кому выпадает, если судить по моему собственному опыту. А про строки - можно написать: ![]() ![]() public SomeType { get { return _someField; } } а можно: ![]() ![]() public SomeType { get { return _someField; } } Количество строк разное, а содержание одно, так что это необъективная единица измерения. |
![]() |
Сообщ.
#131
,
|
|
Вон те 12759 - это Питон. Там так запросто по желанию строчки не распихаешь. Да и кодестайл есть, установленный Стандартом Предприятия.
Добавлено Но вообще-то там дохрена копипасты. Юнит-тест, тестирующий модуль управления BAT-регистрами на PPC, конечно же будет содержать множество похожих кейзов. Тем сложнее не допустить там ошибок. Питоновые скрипты бегают на GDB параллельно с тестом. |
Сообщ.
#132
,
|
|
|
Цитата Я вобще не пойму почему автор темы ограничился только профессионалам и любителем, а как же задрот. Какой уж там задрот - столько надо запрограммировать, что даже подрочить некогда! |
Сообщ.
#133
,
|
|
|
Цитата Бобёр @ Цитата Я вобще не пойму почему автор темы ограничился только профессионалам и любителем, а как же задрот. Какой уж там задрот - столько надо запрограммировать, что даже подрочить некогда! Тут вспомниласть на досуге первая работа, основной задачей было понять бизнес , а как там комилятор чего делает и сокеты работают дело 10-е, после где-то двух лет работы один senior developer спросил меня может FTP перетаскивать файлы из Юникса в Виндоус,а крутой британец , к которому меня послали консультироваться , нужно было разобраться с протоколом работы некоего железа считавшийся одним из лучших спецов в Европе не знал что-такое виртуальная функция , решения естесно он не дал , и task был отменен, времена были кризисные но плату моргича никто не отменял , при первой же возможности естесно Я из этой области ушел , С тех пор считаю, что вообще любая работа с Legacy system являеться программированием не профессиональным , Иногда мне это кажеться просто пародией на программирование , |
Сообщ.
#134
,
|
|
|
Цитата sergioK @ а крутой британец , к которому меня послали консультироваться , нужно было разобраться с протоколом работы некоего железа считавшийся одним из лучших спецов в Европе не знал что-такое виртуальная функция Крутой британец еще не значит что он программист по професии. И вообще любой отдельно взятый крутой британец не обязан знать что такое виртуальная функция, ровно как и другой крутой перец другой страны. А так, лично я не совсем понял чего ты вообще написал. |
Сообщ.
#135
,
|
|
|
Цитата Wound @ Цитата sergioK @ а крутой британец , к которому меня послали консультироваться , нужно было разобраться с протоколом работы некоего железа считавшийся одним из лучших спецов в Европе не знал что-такое виртуальная функция Крутой британец еще не значит что он программист по професии. И вообще любой отдельно взятый крутой британец не обязан знать что такое виртуальная функция, ровно как и другой крутой перец другой страны. А так, лично я не совсем понял чего ты вообще написал. Програмист которой не знает что такое вирт метод - не профессионал , даже если он может что-то накодить , тема как называеться ? |
Сообщ.
#136
,
|
|
|
Цитата sergioK @ крутой британец , к которому меня послали консультироваться , нужно было разобраться с протоколом работы некоего железа считавшийся одним из лучших спецов в Европе не знал что-такое виртуальная функция А какая связь между "протоколом работы некоего железа" и виртуальными функциями? |
Сообщ.
#137
,
|
|
|
Цитата D_KEY @ Цитата sergioK @ крутой британец , к которому меня послали консультироваться , нужно было разобраться с протоколом работы некоего железа считавшийся одним из лучших спецов в Европе не знал что-такое виртуальная функция А какая связь между "протоколом работы некоего железа" и виртуальными функциями? Такая что человек не знал что такое сокет, по которому у железу надо обращаться ,а после того как ему обьянили, не понимал как реализовать это обьектными средсвами , В моем понимании есть некий минимальный набор знаний , и те кто им не обладают не могут называться профессинальными програмистами, |
Сообщ.
#138
,
|
|
|
Цитата sergioK @ Такая что человек не знал что такое сокет Вот это действительно ..эм.. странно. По поводу этого согласен. Не очень понятно, как он работал вообще ![]() Цитата не могут называться профессинальными програмистами, формально профессиональными программистами могут называться все, кто является программистом по профессии. |
Сообщ.
#139
,
|
|
|
Цитата D_KEY @ Цитата sergioK @ Такая что человек не знал что такое сокет Вот это действительно ..эм.. странно. По поводу этого согласен. Не очень понятно, как он работал вообще ![]() Цитата не могут называться профессинальными програмистами, формально профессиональными программистами могут называться все, кто является программистом по профессии. Я ж говорю он бизнес знал , таких в легаси системах полно , они бизнес знают , типо стукруры Purchasing Order , а для сокетов зовут(уже нет) таких вроде меня , либо заказчику впаривают что это очень сложно и не нужно , Формально да, но тогда кто и как определяет кто програмист по профессии , а кто "химик" выучивший конретную либу на С#/Питоне или даже С++, отвечающую требованиям в его узкой области Организации или асооциаций у програмистов к сожалению нет , |
Сообщ.
#140
,
|
|
|
Цитата sergioK @ Програмист которой не знает что такое вирт метод - не профессионал , даже если он может что-то накодить , тема как называеться ? Программист не обязан знать что такое виртуальная функция. Потому что программист понятие растяжимое. Во первых не во всех ЯП есть виртуальные функции, и многие могут о них даже не подозревать. Допустим в языке С нет виртуальных функций, а теперь поясни, с какого перепуга, Программист пишуший на языке С обязан знать что такое виртуальная функция и как его незнание о виртуальных функциях сказывается на его професионализме? Мне кажется ты несешь чушь какую то, имхо конечно ![]() |
Сообщ.
#141
,
|
|
|
Цитата Wound @ Потому что программист понятие растяжимое. Конечно же растяжимое, вы только что описали не программиста, а кодера. |
Сообщ.
#142
,
|
|
|
Цитата Мяут-Настоящий @ Конечно же растяжимое, вы только что описали не программиста, а кодера. Обоснуй, я не понимаю твоей логики. По твоему любой программист обязан знать С++ и что такое виртуальная функция или как? У меня на работе есть Java программисты, которые тоже не знают что такое вирт. функция в С++. Они что не професионалы? А еще за одно поясни в каком именно месте я описал кодера? Ну и еще было бы забавно услышать чем кодер отличается от программиста в твоем понимании? |
Сообщ.
#143
,
|
|
|
Аргументы свелись к:
Если кто-то не знает чего-то, что знаю Я, он - не программист ![]() |
Сообщ.
#144
,
|
|
|
Цитата Keepun @ Аргументы свелись к:Если кто-то не знает чего-то, что знаю Я, он - не программист Ага, тоже заметил такое. Забавно читать как один доказывает другому, а то и всем, что если кто то не знает чего то, то значит он не професионал. ![]() |
Сообщ.
#145
,
|
|
|
Цитата Wound @ Цитата Мяут-Настоящий @ Конечно же растяжимое, вы только что описали не программиста, а кодера. Обоснуй, я не понимаю твоей логики. По твоему любой программист обязан знать С++ и что такое виртуальная функция или как? У меня на работе есть Java программисты, которые тоже не знают что такое вирт. функция в С++. Они что не професионалы? А еще за одно поясни в каком именно месте я описал кодера? нет , то что жаве любая фунцция виртуальная, не знание основ не дает им скидку стать профессионалами , вирт функция это только один пример , и она к С++ не имеет никакаго отношения , сокет другой , понимание RPC третий и т,д , знание осей 4 и т,д , Если речь о жаве то 90% жава прогеров не знают разницы между array && linked list . На каждом проэкте начинаю с того что исправляю , |
Сообщ.
#146
,
|
|
|
Цитата sergioK @ нет , то что жаве любая фунцция виртуальная, не знание основ не дает им скидку стать профессионалами , Где написано что в Жаве любая функция виртуальная? Я видел код Java и не встречал там слово virtual. Да и вообще в Java нет понятия виртуальная функция, ты ошибаешься и неверно интерпретируешь написаное в книжках. Это С++ программерам объясняют так, чтобы они проводили аналогию со своим языком и чтоб им проще было освоить язык. А Java программист, который не изучал С++, может и не догадываться что у него там оказывается функции какие то виртуальные. Цитата sergioK @ вирт функция это только один пример , и она к С++ не имеет никакаго отношения , И что такое виртуальная функция в программировании вообще? Знаю есть понятие динамического полиморфизма, ООП и т.д. Но виртуальная функция - это часть языка, а не понятие в программировании. Я знаю виртуальные функции есть в С++, еще вроде в делфи есть. Больше я хз где еще есть виртуальные функции. В другом языке виртуальные функции могут вообще выполнять другую роль. И что? И вообще знание предпологает что ты досконально в этом разбираешься, а не просто прочел на вики или слышал что есть такое слово в некоторых ЯП, потому что это уже не знание а "слышал звон, но не знаю где он". Так что будь поаккуратнее в своих формулировках и уточняй дабы тебя правильно понимали. |
Сообщ.
#147
,
|
|
|
Цитата sergioK @ Я ж говорю он бизнес знал , таких в легаси системах полно , они бизнес знают , типо стукруры Purchasing Order , а для сокетов зовут(уже нет) таких вроде меня Ну и в чем тогда проблема? Один знает одно, другой другое - вместе вы делаете то, что нужно. Заказчика это устраивает. Что еще нужно? Добавлено Цитата sergioK @ нет , то что жаве любая фунцция виртуальная В Java нет не только виртуальных функций, там вообще функций нет. Есть методы. |
Сообщ.
#148
,
|
|
|
Цитата D_KEY @ В Java нет не только виртуальных функций, там вообще функций нет. Есть методы. Во во, тоже хотел написать, да уже не стал придираться к словам. Всетаки многие называют функциями методы класса ![]() Добавлено Цитата sergioK @ вирт функция это только один пример , и она к С++ не имеет никакаго отношения , сокет другой , понимание RPC третий и т,д , знание осей 4 и т,д , Ну вот ты считаешь себя професианалом? Можешь мне объяснить подробно как работают пулы в IBM Apache? Конкретно интересует в какой пул нужно закинуть конфиг, чтобы его можно было достать с помощьюa ap_get_module_config без изменения адреса структуры под AIX платформу? Т.е. чтобы она один раз была создана при старте апаче модуля и жила на протяжении всей его жизни? |
Сообщ.
#149
,
|
|
|
Цитата Wound @ Где написано что в Жаве любая функция виртуальная? В спецификации языка |
Сообщ.
#150
,
|
|
|
Цитата sergioK @ В спецификации языка Можешь плз ссылку кинуть на Oracle спецификацию Java где это прямым текстом написано? |
Сообщ.
#151
,
|
|
|
Ааа, ну я понял почему товарисч sergioK задвигает про виртуальные функции, оказывается:
Цитата sergioK @ Профессионал это тот кто знает С/С++ даже если он работает на чем то другом , Бу га га шень ки ![]() ![]() ![]() ![]() ![]() Выходит професионалов не так уж и много п овсему миру, большая часть так - любители ![]() ![]() ![]() Это же надо было такую чушь сморозить ![]() |
Сообщ.
#152
,
|
|
|
Цитата sergioK @ Цитата Wound @ Где написано что в Жаве любая функция виртуальная? В спецификации языка Не, там методы, которые можно перекрывать в производных классах. Так же есть ключевое слово final, которое запрещает перекрывать метод в производных классах. |
Сообщ.
#153
,
|
|
|
sergioK, вам говорят о терминологии. Вы используете специфичную терминологию C++ для других языков, где используются другие термины.
|
Сообщ.
#154
,
|
|
|
Говоришь меньше минуты? Я от тебя ответа ждал полтора часа, это при том что ты 2 раза в тему заглядывал ![]() А теперь покажи где там написано что в Java любая функция/метод(неважно) виртуальные? И что насчет моего вопроса по IBM apache ? Добавлено Цитата Сообщ. #154, 10 минут назад Удалено автором - 3 минуты назад Эээх, а так пафосно начинал ![]() ЗЫЖ, немного подправил пост, т.к. ты писал не все, а любая. |
Сообщ.
#155
,
|
|
|
Цитата D_KEY @ Так же есть ключевое слово final, которое запрещает перекрывать метод в производных классах. Которое означает что поинтер на функцию не константный т,е, изменяемый в run time . Wound Я это сказал еще в 96 году, проффессионал обязан знать С/С++, Вопрос на засыпку ко всем как передаються параметры в функцию ?, на любом языке , для D_KEYя в метод ![]() ![]() |
Сообщ.
#156
,
|
|
|
Цитата sergioK @ Которое означает что поинтер на функцию не константный т,е, изменяемый в run time . В языке Java нет поинтеров на функцию. Цитата проффессионал обязан знать С/С++ Зачем? |
Сообщ.
#157
,
|
|
|
Цитата D_KEY @ Цитата sergioK @ Которое означает что поинтер на функцию не константный т,е, изменяемый в run time . В языке Java нет поинтеров на функцию. Цитата проффессионал обязан знать С/С++ Зачем? 1)Почти, нет поинтеров, доступных програмисту , 2)Чтобы писать грамотный год , по крайне мере так говорит Патрик Нотон , Я с ним согласен |
Сообщ.
#158
,
|
|
|
Цитата sergioK @ Которое означает что поинтер на функцию не константный т,е, изменяемый в run time . В Java еще есть поинтеры на функцию? Что то не слышал что в Java указатели есть ![]() Цитата sergioK @ Wound Я это сказал еще в 96 году, проффессионал обязан знать С/С++, В 96 году этого форума еще небыло. Ваша цитата, которую я процитировал датирована форумом: Сообщ. #14, 29 ноября 2013, 18:55 А по вашему сейчас какой год и век ? И по какому календарю вы время считаете? Цитата sergioK @ Вопрос на засыпку ко всем ? как передаються параметры в функцию , на любом языке , для D_KEYя в метод В каждом по разному. в С/С++ например по значению(это поведение по умолчанию), в Java сылочная семантика. Сказать про все языки сложно, так как во всех по разному. |
Сообщ.
#159
,
|
|
|
Цитата sergioK @ Чтобы писать грамотный год Обоснуйте. |
Сообщ.
#160
,
|
|
|
Цитата sergioK @ 2)Чтобы писать грамотный год , И как знание С++ влияет на написание грамотного кода? Добавлено И на каком уровне нужно знать С++ чтобы писать грамотный код на других языках? |
Сообщ.
#161
,
|
|
|
Цитата sergioK @ так говорит Патрик Нотон Можно ссылку? |
Сообщ.
#162
,
|
|
|
Цитата D_KEY @ Можно ссылку? Ща тебе через часа полтора прилетит ссылка на какую нибудь туфту, которая не отсноится к делу со словами "ты че гуглить не умеешь, у меня улетело 10 секунд на ее поиск" ![]() |
Сообщ.
#163
,
|
|
|
Цитата D_KEY @ Цитата sergioK @ так говорит Патрик Нотон Можно ссылку? Никогда не пробовал искать это в сети ,У меня книга ,уже лет 10 там это написано, Про грамотный код- уже раз 30 писал , array vs linked list, тем кто не разу не видел память в дебаге оно не очевидно, или попытки поставить thread.priority, исходящие из-за непонимания , что тасками управляет ось , еще не понимание того что статик не относиться к классу, забывемость вsзова dispose в SWT , |
Сообщ.
#164
,
|
|
|
Цитата sergioK @ Никогда не пробовал искать в сети ,У меня книга ,уже лет 10 там это написано, Так какая книга-то? Цитата Про грамотный код- уже раз 30 писал , array vs linked list, тем кто не разу не видел память в дебаге оно не очевидно, или попытки поставить thread.priority, исходящие из-за непонимания , что тасками управляет ось , Для этого не нужно знать C++. |
Сообщ.
#165
,
|
|
|
Цитата sergioK @ ,У меня книга ,уже лет 10 там это написано, Вы противоречите самому себе. Вы говорите: Цитата sergioK @ Wound Я это сказал еще в 96 году, проффессионал обязан знать С/С++, 1996 год был 17 лет назад. Потом вы говорите: Цитата sergioK @ 2)Чтобы писать грамотный год , по крайне мере так говорит Патрик Нотон , Я с ним согласен Т.е. как я понял услышали вы это от Патрика Нотона и вы с ним согласны, но при этом узнали вы это из книги которая появилась у вас 10 лет назад( в 2003-2004 году). Цитата sergioK @ Никогда не пробовал искать это в сети ,У меня книга ,уже лет 10 там это написано, Или я чего то не понял? Добавлено sergioK, у вас очень хромает теория и в терминологии вы не сильны. Я конечно могу ошибаться, возможно на практике вы мощный професионал, но пока что вы банально путаетесь в очевидных и фундаментальных вещах. Но при этом утверждаете что настоящий программист професионал обязан знать чуть ли не все на свете. Добавлено И да, нет ничего страшного в том, что человек чего то не знает(например как работать с сокетами или механизм RPC), просто возможно человек с этим не работал и у него нет опыта. Начнет с этим работать - разбереться будет знать. Гораздо страшнее когда человек утверждает что он знает все. |
Сообщ.
#166
,
|
|
|
Цитата Wound @ Цитата sergioK @ ,У меня книга ,уже лет 10 там это написано, Вы противоречите самому себе. Вы говорите: Цитата sergioK @ Wound Я это сказал еще в 96 году, проффессионал обязан знать С/С++, 1996 год был 17 лет назад. Потом вы говорите: Цитата sergioK @ 2)Чтобы писать грамотный год , по крайне мере так говорит Патрик Нотон , Я с ним согласен Т.е. как я понял услышали вы это от Патрика Нотона и вы с ним согласны, но при этом узнали вы это из книги которая появилась у вас 10 лет назад( в 2003-2004 году). Цитата sergioK @ Никогда не пробовал искать это в сети ,У меня книга ,уже лет 10 там это написано, Или я чего то не понял? Противоречия не вижу , Я это сказал в когда был студентом, у Нотона прочел в 2002, D_KEY Ну если не надо, с чего тогда делают такие ляпы, а те что начинали на С++ не делают, т,е, делают но в разы реже |
Сообщ.
#167
,
|
|
|
Цитата sergioK @ Противоречия не вижу , Я это сказал в когда был студентом, у Нотона прочел в 2002, Ок, тогда поясни вот это: Цитата sergioK @ Wound Я это сказал еще в 96 году, проффессионал обязан знать С/С++, Это твое мнение? Или ты его гдето услышал? Если ты это сказал в 96 году, значит ответь на эти два вопроса: Цитата Wound @ И как знание С++ влияет на написание грамотного кода? И на каком уровне нужно знать С++ чтобы писать грамотный код на других языках? Добавлено Я не понимаю почему любой другой программист не сможет написать грамотный код на другом языке программирования(не С/С++) без знаний С/С++ ??? Вот меня это очень интересует, ибо я с тобой не согласен. Добавлено Цитата sergioK @ Ну если не надо, с чего тогда делают такие ляпы, а те что начинали на С++ не делают, т,е, делают но в разы реже У нас на работе есть Java программист, С++ он не знает, но при этом таких ляпов не делает и разницу между array и linked list он знает, и чего дальше? |
Сообщ.
#168
,
|
|
|
Цитата Wound @ Цитата sergioK @ Противоречия не вижу , Я это сказал в когда был студентом, у Нотона прочел в 2002, Ок, тогда поясни вот это: Цитата sergioK @ Wound Я это сказал еще в 96 году, проффессионал обязан знать С/С++, Это твое мнение? Или ты его гдето услышал? Если ты это сказал в 96 году, значит ответь на эти два вопроса: Цитата Wound @ И как знание С++ влияет на написание грамотного кода? И на каком уровне нужно знать С++ чтобы писать грамотный код на других языках? Добавлено Я не понимаю почему любой другой программист не сможет написать грамотный код на другом языке программирования(не С/С++) без знаний С/С++ ??? Вот меня это очень интересует, ибо я с тобой не согласен. Добавлено Цитата sergioK @ Ну если не надо, с чего тогда делают такие ляпы, а те что начинали на С++ не делают, т,е, делают но в разы реже У нас на работе есть Java программист, С++ он не знает, но при этом таких ляпов не делает и разницу между array и linked list он знает, и чего дальше? про знать С++ да мое , т,е знать на базовом уровне, IMHO. Может другой програмист без С++ написать грамотно, но вероятность меньше ,и времени больше уйдет в разы пока он станет хорошим спецом , Это как трак 40тонный водить, можно сразу как Я когда-то, но лучше начать с легковушки , ибо в книгах/доках никто не обьясняет где у машины зачем повортник и зачем он нужен, Месяца три назад задали Х500 реализовать, в жава доке ни фига не понял, открыл C++ час почитал , все стало понятно, тоже самое было когда с потоками разбирался , смотрю доку на ява "сама пишеться " тоже самое было с templates/generics . Кроме того много раз способность почесть код С/С++ помогала найти лучшее решение в жава, Видимо ао этой причине сегодня в хорошие фирмы, на java senior без С++ почти не берут , Ну вот как-то так , |
Сообщ.
#169
,
|
|
|
Цитата sergioK @ про знать С++ да мое , т,е знать на базовом уровне, IMHO. Базовый уровень это знать что такое переменая, идентификатор и массив? Или как? Цитата sergioK @ Видимо ао этой причине сегодня в хорошие фирмы, на java senior без С++ почти не берут , Откуда это, где не берут? Я знаю много людей, которые даже на базовом уровне не знают С++ которые спокойно устраиваются на Java Senior Developer. Цитата sergioK @ Может другой програмист без С++ написать грамотно, но вероятность меньше ,и времени больше уйдет в разы пока он станет хорошим спецом , И каким образом С++ повышает вероятность грамотно писать программы ? А на счет времени, я всегда думал что это зависит от опыта работы с той или иной технологией, да и опыта вообще. Чем больше у человека опыта - тем меньше времени унего уходит на решение той или иной задачи. Причем тут С++? |
![]() |
Сообщ.
#170
,
|
|
Цитата Wound @ в Java сылочная семантика вообще-то нет. |
Сообщ.
#171
,
|
|
|
sergioK, ты можешь найти хотя бы одну вакансию чисто на Java Senior Developera без всяких С/С++, но чтобы требование там было знание С/С++ хотябы на базовом уровне?
Добавлено Цитата korvin @ вообще-то нет. Там разве объекты по значению передаются в функции? Добавлено Я просто на сколько знаю у них объект - это по сути ссылка на данные. Даже рекомендуют сравнивать содержимое через метод Equal или что топодобное, ну и присваивать через всякие там Clone и т.д. Добавлено Ну примитивные типы(integer, byte и т.д.) я не рассматриваю, т.к. их нет смысла передавать по ссылке. |
Сообщ.
#172
,
|
|
|
Цитата Wound @ Цитата sergioK @ про знать С++ да мое , т,е знать на базовом уровне, IMHO. Базовый уровень это знать что такое переменая, идентификатор и массив? Или как? Цитата sergioK @ Видимо ао этой причине сегодня в хорошие фирмы, на java senior без С++ почти не берут , Откуда это, где не берут? Я знаю много людей, которые даже на базовом уровне не знают С++ которые спокойно устраиваются на Java Senior Developer. Цитата sergioK @ Может другой програмист без С++ написать грамотно, но вероятность меньше ,и времени больше уйдет в разы пока он станет хорошим спецом , И каким образом С++ повышает вероятность грамотно писать программы ? А на счет времени, я всегда думал что это зависит от опыта работы с той или иной технологией, да и опыта вообще. Чем больше у человека опыта - тем меньше времени унего уходит на решение той или иной задачи. Причем тут С++? Понимание как работает память , ось , потоки ресурсы , ты ищешь что-то типа военного устава ![]() нет такого нет , Какие фирмы ну из тех что Я знаю нв вскидку , Сisco, Check Point, IBM, Intel, Nice в который Я был принял,благодаря знанию C, Verint, Imperva , San Disc P.S. параметры в функция передаються по значению, другого нет ни в каком языке, |
Сообщ.
#173
,
|
|
|
Цитата Wound @ Цитата korvin @ вообще-то нет. Там разве объекты по значению передаются в функции? Там передача по значению. Просто объекты представлены ссылками. В случае объектов(а не примитивных типов данных) будет передана по значению ссылка на объект. Добавлено Цитата sergioK @ параметры в функция передаються по значению, другого нет ни в каком языке Есть. Даже в C++ есть ссылки(которые сами по себе значениями не являются, нельзя, например, иметь массив ссылок). Я уже не говорю про языки, где поддерживаются явные и неявные ленивые аргументы и пр. и пр. |
Сообщ.
#174
,
|
|
|
Цитата D_KEY @ Там передача по значению. Просто объекты представлены ссылками Ну тоесть по факту в функцию передается ссылка на данные. Было бы маразмом передавать ссылку на ссылку на данные. |
![]() |
Сообщ.
#175
,
|
|
Цитата Wound @ Ну тоесть по факту в функцию передается ссылка на данные. По факту передается значение, содержащее ссылку на данные. Цитата Wound @ Было бы маразмом передавать ссылку на ссылку на данные. В чем маразм? ![]() ![]() class fooObject { ... }; typedef *Foo fooObject; // передаем "ссылку на ссылку": void foo(Foo &f) { f = newFoo(2); } int main() { Foo f = newFoo(1); f->print(); foo(f); f->print(); return 0; } => ![]() ![]() 1 2 сделай в джаве также. |
Сообщ.
#176
,
|
|
|
Цитата sergioK @ Понимание как работает память , ось , потоки ресурсы , ты ищешь что-то типа военного устава Это все к С++ не имеет никакого отношения. В винде потоки устроены так, в *nix по другому, это к языку не относится, на сколько я знаю. В том же С++ по карйней мере С++03 нет понятия потоков. А ось, зачем Java программеру вообще знать как там ось устроена если у них сама идея Java написал один раз - работает везде. Цитата sergioK @ Сisco, Check Point, IBM, Intel, Nice в который Я был принял,благодаря знанию C, Verint, Imperva , San Disc И что там набирают Java программситов Java только со знанием основ С++ ? Цитата sergioK @ P.S. параметры в функция передаються по значению, другого нет ни в каком языке, В С++ передача параметров в функцию по значению - это по умолчанию. |
![]() |
Сообщ.
#177
,
|
|
Цитата Wound @ Цитата sergioK @ P.S. параметры в функция передаються по значению, другого нет ни в каком языке, В С++ передача параметров в функцию по значению - это по умолчанию. Как ты понял, что он имел в виду? Я так и не распарсил. =) |
Сообщ.
#178
,
|
|
|
Цитата korvin @ В чем маразм? Ну хотя бы в том, что объект, как вы сказали выше - это уже ссылка на данные. Допустим в С++ по ссылке в функцию параметры передают затем, чтобы избежать лишнего копирования информации, т.к. если будет передача по значению, то фактически внутри функции будет создана копия передаваяемого объекта, а это считай лишняя, ненужная операция копирования всех данных. Особенно это чувствуется когда передаешь массивы. Я сейчас не имею ввиду изменение значений внутри функции, ну типа out параметры. Цитата korvin @ сделай в джаве также. Я если честно не понял твой код. ![]() Добавлено Цитата korvin @ Как ты понял, что он имел в виду? Я так и не распарсил. =) Ну так речь шла про Java. Я то сказал что в Java ссылочная семантика, в этом контексте и спорим. Поэтому посчитал что sergioK как и вы с D_KEY рассказываете мне про Java. ![]() |
Сообщ.
#179
,
|
|
|
Цитата D_KEY @ Есть. Даже в C++ есть ссылки(которые сами по себе значениями не являются, нельзя, например, иметь массив ссылок). в стек передаеться значение ссылки , какая разница С++ , т,е, push , какая ему разница кто компилил ? Это вопрос из интервью из серии "подловить " Wound equal ты сам имплементируешь как считаешь нужным , и hash code желательно , это аналог operator == в С++ , |
![]() |
Сообщ.
#180
,
|
|
Цитата Wound @ Я если честно не понял твой код. Что именно тебе непонятно? Ну вот пример попроще: ![]() ![]() void foo(int &i) { i = 2; } int main() { int i = 1; print(i); foo(i); print(i); return 0; } ![]() ![]() 1 2 Замени int на любой объектный тип и напиши процедуру foo с таким же поведением. |
Сообщ.
#181
,
|
|
|
Цитата Wound @ В том же С++ по карйней мере С++03 нет понятия потоков. В C++11 есть, если что. |
Сообщ.
#182
,
|
|
|
Цитата sergioK @ Wound equal ты сам имплементируешь как считаешь нужным , и hash code желательно , это аналог operator == в С++ , Я это знаю. Я и говорю. Что С++сный == сравнивает именно значения. А Javaвский == сравнивает ссылки по сути, а чтобы в Java сравнивать именно данные, то нужно юзать Equal. Цитата korvin @ Что именно тебе непонятно? Ну вот пример попроще: Да мне непонятно в том коде что такое newFoo, немонятно откуда взялось Foo. Цитата korvin @ Замени int на любой объектный тип и напиши процедуру foo с таким же поведением. Ну так я же написал до этого, что я не о out параметрах. Добавь в функцию foo const int&, об этом я. Добавлено Цитата D_KEY @ В C++11 есть, если что. Речь на сколько я понимаю идет таки об С++03, так как заявления были про 96 год, а также речь шла не только о С++ но и о С. Добавлено Цитата sergioK @ в стек передаеться значение ссылки , какая разница С++ , т,е, push , какая ему разница кто компилил ? Это вопрос из интервью из серии "подловить " Я вот не понял эти три строчки. Можно поподробнее? |
Сообщ.
#183
,
|
|
|
Цитата Wound @ Речь на сколько я понимаю идет таки об С++03, так как заявления были про 96 год В 96 у С++ вообще стандарта не было ![]() |
![]() |
Сообщ.
#184
,
|
|
Цитата Wound @ Да мне непонятно в том коде что такое newFoo процедура, возвращающая значение типа Foo, это не важно, не думай о ней. Цитата Wound @ немонятно откуда взялось Foo. typedef же. Цитата Wound @ Ну так я же написал до этого, что я не о out параметрах. Добавь в функцию foo const int&, об этом я. При чем тут out и const? Разговор шел про "передачу по ссылке и по значению". Так вот, "передача по ссылке" != "передаче ссылочного значения по значению", простите за тафтологию. Вот смотри: ![]() ![]() struct value { int x, y; float f; }; struct Object { value *v; }; void foo(Object o) { // это передача по ссылкке или по значению? ... } |
Сообщ.
#185
,
|
|
|
Цитата D_KEY @ В 96 у С++ вообще стандарта не было Первый стандарт в 98 году вышел. Я знаю. Почитай в общем заного о чем речь. Я не думаю что sergioK говорит именно о С++11, так как предпосылок для этого он не дает. Цитата korvin @ typedef же. ну так синтаксис typedef немного другой, сначало идет тип потом синоним, а у тебя паходу наоборот. Цитата korvin @ При чем тут out и const? Разговор шел про "передачу по ссылке и по значению". Так вот, "передача по ссылке" != "передаче ссылочного значения по значению", простите за тафтологию. Вот смотри: Все я понял что ты имеешь ввиду. Добавлено Значит я Java перепутал с чем то, или с делфями или с C#, просто помню гдето там ссылочная семантика идет. Добавлено Цитата D_KEY @ В 96 у С++ вообще стандарта не было Первый стандарт в 98 году вышел. Просто фишка в том, что он говорил эту фразу в 96 году по его словам относительно С, потом прочел в книжке тоже самое в 2002, и в 2013 повторил. Когда я у него спросил почему, он так считает, то он начал приводить все эти потоки оси и т.д. А последний стандарт вышел в 2011 году осенью, поэтому и не клеится. Иначе был бы акцент как раз таки на новый С++, а не вообще на С/С++. |
![]() |
Сообщ.
#186
,
|
|
Цитата Wound @ ну так синтаксис typedef немного другой Да я с ним все время путаюсь. Добавлено Цитата Wound @ Значит я Java перепутал с чем то, или с делфями или с C#, просто помню гдето там ссылочная семантика идет. Она нигде не идет, кроме языков, где есть пользовательский тип "указатель". А в некоторых из тех, где нельзя, "накостылили" out-параметры. |
Сообщ.
#187
,
|
|
|
Цитата korvin @ Она нигде не идет, кроме языков, где есть пользовательский тип "указатель". А в некоторых из тех, где нельзя, "накостылили" out-параметры. Разве? Помнится мне в холиварах делфи вроде у них там смешаная семантика шла, или там также как в Java ? Значит я совсем запутался. Добавлено Нужно будет тогда просветить сей вопрос как нибудь ![]() Добавлено korvin, а ты как считаешь, нужно ли обладать базовыми знаниями С/С++ чтобы писать грамотный код на других языках? Может я один такой неправильный... Что я заметил например в Java программистах, это то, что они действительно порой не знают вещей, которые им стоило бы знать, например сколько у них какие типы занимают памяти. Както натыкался на статью на хабре, как один ныл что промудохался сколько то времени чтобы избежать out of memory, и потом сделал для себя открытие что тип boolean в Java весит 4 байта вместо одного, а у него там массив boolов был на 15к элементов. Ну хотя все это можно подчерпнуть из той же спецификации или даже книжки по Java. |
Сообщ.
#188
,
|
|
|
Цитата Wound @ Что я заметил например в Java программистах, это то, что они действительно порой не знают вещей, которые им стоило бы знать, например сколько у них какие типы занимают памяти. Както натыкался на статью на хабре, как один ныл что промудохался сколько то времени чтобы избежать out of memory, и потом сделал для себя открытие что тип boolean в Java весит 4 байта вместо одного, а у него там массив boolов был на 15к элементов. Ну хотя все это можно подчерпнуть из той же спецификации или даже книжки по Java. Т,е ты признаешь что стоит знать С, ![]() |
Сообщ.
#189
,
|
|
|
Цитата sergioK @ Т,е ты признаешь что стоит знать С, This what I am talking about . Нет конечно. Я же это нигде не писал. Знание/не знание С/С++ никак не влияет на знание или написание грамотного кода на Java и других языках. Добавлено В C - нет типа boolean, в C++ тип bool - весит 1 байт. С какого препуга зная сколько в С++ весит bool, Java программист узнает сколько он будет весить в Java ? Добавлено В данном случае его эта информация только запутает. Добавлено Более того все холивары с Java программистами и попытка привести в качестве аргумента какие то особенности ОС не особо помогают. Так как основной аргумент Java программистов состоит в том, что им не нужно знать специфику ОС, а там где надо - получается не кросплатформенный код, и такие случаи довольно редки. Кому нужна программа на Java с привязкой к одной ОС? Добавлено Да и найти нормального С/С++ программиста не такая уж и легкая задача, так как язык довольно сложный, и просто прочитать книжку - мало. Нужно еще иметь пару лет опыта работы на этом языке. А то что ты перечислил специфику ОС, потоки и т.д. в случае с С++03 и ниже не относится напрямую к С/С++, а в случае С++11 - это далеко не базовые знания. |
Сообщ.
#190
,
|
|
|
Цитата Wound @ С какого препуга зная сколько в С++ весит bool, Java программист узнает сколько он будет весить в Java ? С такого что он в принципе не слышал о наличии sizeof , И проблеме нехватке паямяти , потому что ему сказали что это не нужно , |
Сообщ.
#191
,
|
|
|
Цитата sergioK @ С такого что он в принципе не слышал о наличии sizeof , Причем тут sizeof? В книжках и в спецификации по Java не описываеться sizeof ? Да и sizeof практически не применяют работая с базовыми типами типа Int, bool, byte, и т.д. по крайней мере я еще ниразу не применял этот оператор для базовых типов. В Java аналогично. Цитата sergioK @ И проблеме нехватке паямяти , потому что ему сказали что это не нужно , Да, у них GC есть. Да и сейчас не те времена чтобы задумываться о нехватке памяти. Добавлено sergioK, в приведенном мною примере, где у чувака кончилась память, когда он юзал массив на 15 000(или даже миллионов, я не помню, помойму миллионов) элементов типа boolean скорее всего проблема не в том сколько весит bool, а в том что массивы такого объекма нецелесообразно хранить в RAM памяти, ИМХО конечно. Добавлено Вот ссылка на хабр статью, если интересно boolean — боремся за Java память… Я ошибся, он там юзал массив на 500 000 000 элементов типа boolean. По моему это маразм. Цитата Итак в моём распоряжении есть код, которому не хватает 15Gb оперативной памяти для нормального функционирования и очень длительный и дорогостоящий процесс запуска (около 5 часов), в ходе работы которого можно только сидеть со скрещенными пальцами и надеятся, что в этот раз заветные слова OutOfMemoryException не появятся в консоли удалённого сервера. ![]() |
Сообщ.
#192
,
|
|
|
Цитата Wound @ Добавлено sergioK, в приведенном мною примере, где у чувака кончилась память, когда он юзал массив на 15 000(или даже миллионов, я не помню, помойму миллионов) элементов типа boolean скорее всего проблема не в том сколько весит bool, а в том что массивы такого объекма нецелесообразно хранить в RAM памяти, ИМХО конечно. Добавлено Вот ссылка на хабр статью, если интересно boolean — боремся за Java память… Я ошибся, он там юзал массив на 500 000 000 элементов типа boolean. По моему это маразм. Цитата Итак в моём распоряжении есть код, которому не хватает 15Gb оперативной памяти для нормального функционирования и очень длительный и дорогостоящий процесс запуска (около 5 часов), в ходе работы которого можно только сидеть со скрещенными пальцами и надеятся, что в этот раз заветные слова OutOfMemoryException не появятся в консоли удалённого сервера. ![]() У меня бывало и по 40, с рамом в 2тера , |
Сообщ.
#193
,
|
|
|
Цитата sergioK @ У меня бывало и по 40, с рамом в 2тера , В Java ? Или в С/С++ ? Я, если честно, не могу себе представить когда такое нужно, да и в конце концов то можно же юзать file mapping.... Добавлено Цитата sergioK @ с рамом в 2тера , это где такие рамы стоят? У чувака тут обычненький такой себе сервачок, с неочень большим объемом рамы. |
Сообщ.
#194
,
|
|
|
Цитата это где такие рамы стоят? У чувака тут обычненький такой себе сервачок, с неочень большим объемом рамы. на MF |
![]() |
Сообщ.
#195
,
|
|
Цитата sergioK @ Такая что человек не знал что такое сокет а что это такое? ![]() ![]() |
Сообщ.
#196
,
|
|
|
Цитата Fester @ а что это такое? Гнездо же ![]() Добавлено Цитата sergioK @ на MF А чего ты проигнорировал основной вопрос то? Цитата Wound @ В Java ? Или в С/С++ ? Я, если честно, не могу себе представить когда такое нужно, да и в конце концов то можно же юзать file mapping.... |
![]() |
Сообщ.
#197
,
|
|
Цитата Wound @ Разве? Помнится мне в холиварах делфи вроде у них там смешаная семантика шла дык ![]() ![]() void foo(int &x); = ![]() ![]() procedure foo(var x: Integer); И также, как и в С++, в Делфи ![]() ![]() procedure foo(x: TObject); и ![]() ![]() procedure foo(var x: TObject); — не одно и то же. Цитата Wound @ korvin, а ты как считаешь, нужно ли обладать базовыми знаниями С/С++ чтобы писать грамотный код на других языках? Не нужно. Цитата Wound @ Что я заметил например в Java программистах, это то, что они действительно порой не знают вещей, которые им стоило бы знать, например сколько у них какие типы занимают памяти. Как будто им это сильно надо. И да, C, C++ тут совсем не при чем. С тем же успехом можно было бы посоветовать Паскаль или Асм. Для джавистов куда полезней будет изучить JVM. Цитата Wound @ Както натыкался на статью на хабре, как один ныл что промудохался сколько то времени чтобы избежать out of memory, и потом сделал для себя открытие что тип boolean в Java весит 4 байта вместо одного, а у него там массив boolов был на 15к элементов. Киллер, ты ли это? =) Цитата sergioK @ С такого что он в принципе не слышал о наличии sizeof А ниче, что sizeof для объектов любого класса в Java выдавал бы одинаковое значение? Например: http://ideone.com/ymOOYK |
Сообщ.
#198
,
|
|
|
korvin, так какая же в Java семантика, если не ссылочная?
|
Сообщ.
#199
,
|
|
|
Цитата Wound @ Цитата korvin @ Она нигде не идет, кроме языков, где есть пользовательский тип "указатель". А в некоторых из тех, где нельзя, "накостылили" out-параметры. Разве? Помнится мне в холиварах делфи вроде у них там смешаная семантика шла, или там также как в Java ? Значит я совсем запутался. Речь шла о том, являются ли объекты ссылками, а не о передаче параметров. |
Сообщ.
#200
,
|
|
|
Цитата D_KEY @ Речь шла о том, являются ли объекты ссылками, а не о передаче параметров. Так вы о передаче параметров? Ну, да, и Java, и Delphi, и C#, и C/C++ есть call by value языки. По-моему, в Scala есть возможность избежать передачи по значению. Но мне то подумалось, что разговор не об этом... |
Сообщ.
#201
,
|
|
|
Цитата D_KEY @ Речь шла о том, являются ли объекты ссылками, а не о передаче параметров. Да я уже понял. Это я там все напутал. ![]() Цитата korvin @ Киллер, ты ли это? =) Не похож? ![]() Добавлено Цитата korvin @ Как будто им это сильно надо. И да, C, C++ тут совсем не при чем. С тем же успехом можно было бы посоветовать Паскаль или Асм. Для джавистов куда полезней будет изучить JVM. На чет С/С++ совсем не причем тут - полностью согласен. На счет надо им это не надо, хз. Но раз на хабре всплывают подобные темы, наверно знать всетаки это было бы не лишним. |
Сообщ.
#202
,
|
|
|
Цитата MyNameIsIgor @ Цитата D_KEY @ Речь шла о том, являются ли объекты ссылками, а не о передаче параметров. Так вы о передаче параметров? Ну, да, и Java, и Delphi, и C#, и C/C++ есть call by value языки. По-моему, в Scala есть возможность избежать передачи по значению. Но мне то подумалось, что разговор не об этом... Изначально да, речь шла о передаче параметров. Сейчас о чем речь - не знаю, по-моему тут каждый о своем уже ![]() |
Сообщ.
#203
,
|
|
|
Мне както на работе джавситы доказывали с пеной у рта что в С++ вот такой вот класс будет весить толи 8 байт толи еще скока то, уж забыл, мол там обязана быть неявная ссылка ссылка(ну типа self/this) под которую тоже выделяется память :
![]() ![]() class a { int b; }; |
![]() |
Сообщ.
#204
,
|
|
Цитата Wound @ Но раз на хабре всплывают подобные темы, наверно знать всетаки это было бы не лишним. Как будто такой человек не использовал бы массив bool в C++ вместо битового множества. Ну сэкономил бы в 4 раза, но все равно 500 метров не идёт ни в какое сравнение с 4 байтами (int). |
Сообщ.
#205
,
|
|
|
Ну вот сегодня пришлось лезть в сишный код, чтобы понять что там эта жава делает ,
Это для тех кто считает что С++ для работы в жаве не нужен, |
![]() |
Сообщ.
#206
,
|
|
Цитата sergioK @ Ну вот сегодня пришлось лезть в сишный код, чтобы понять что там эта жава делает И каким образом сишный код помог тебе понять, что там эта жава делает? |
Сообщ.
#207
,
|
|
|
Цитата sergioK @ Ну вот сегодня пришлось лезть в сишный код, чтобы понять что там эта жава делает , Это для тех кто считает что С++ для работы в жаве не нужен, Т.е. у тебя был код на Java который ты не понял, и ты набирал его на С, чтоб понять что делает Java код или как? А можно пример привести, необязательно прям выкладывать боевой проект, хотя бы покажи псевдокодом Java код. |
Сообщ.
#208
,
|
|
|
Цитата korvin @ И каким образом сишный код помог тебе понять, что там эта жава делает? Угадай, на чем написан Hotspot JVM ![]() |
Сообщ.
#209
,
|
|
|
Цитата Мяут-Настоящий @ Угадай, на чем написан Hotspot JVM Что то я не понял сути вброса. Типа чтоб понять что делает Java код нужно колупать внутрености Hotspot JVM который паходу на С писан? |
![]() |
Сообщ.
#210
,
|
|
Цитата Мяут-Настоящий @ Угадай, на чем написан Hotspot JVM Как будто между джавой и байткодом никакой разницы... =) |
Сообщ.
#211
,
|
|
|
Цитата korvin @ Цитата sergioK @ Ну вот сегодня пришлось лезть в сишный код, чтобы понять что там эта жава делает И каким образом сишный код помог тебе понять, что там эта жава делает? жава вызывает native code, Я его посмотрел и понял что он делает, проще не бывает , Wound ну бывает не понимаешь, чего в жаве идешь в MSDN, и выясняешь, Пример хочешь лови ![]() на правом описание posix thread на С, было надо проверить свободное место в файловой системе, без С++ никак, При чем тут Hot Spot вообще ?? |
Сообщ.
#212
,
|
|
|
Цитата sergioK @ ну бывает не понимаешь, чего в жаве идешь в MSDN, и выясняешь ![]() Цитата sergioK @ Пример хочешь лови пару лет назад с потоками разбирался , на левом экране был эклипс с жавой , на правом описание posix thread на С, было надо проверить свободное место в файловой системе, без С++ никак, ![]() ![]() |
Сообщ.
#213
,
|
|
|
Цитата sergioK @ жава вызывает native code, Я его посмотрел и понял что он делает, проще не бывает , Ну так погоди, у тебя выходитв Java программе просто вызывается код на другом языке? Ну так при таком раскладе будет у тебя Java вызвать какую нибудь Prolog логику, ты тоже полезешь в Prolog код чтоб понять что он делает. Но из этого ведь не следует что для того чтобы грамотно писать на других ЯП, нужно знать Prolog. Цитата sergioK @ ну бывает не понимаешь, чего в жаве идешь в MSDN, и выясняешь, А разве в Java Specification этого нет? |
![]() |
Сообщ.
#214
,
|
|
Гг, а че не сразу сюда, например? =)
Добавлено Цитата sergioK @ Пример хочешь лови пару лет назад с потоками разбирался , на левом экране был эклипс с жавой , на правом описание posix thread на С, было надо проверить свободное место в файловой системе, без С++ никак, Ага, вообще никак. |
Сообщ.
#215
,
|
|
|
в файловой системе ,у тебя на только диске, Условие задачи прочти,говорят помогает ![]() Wound Да, в теории может быть любой язык, на практике С/С++ , MyNameIsIgor Че заморгал то ![]() |
![]() |
Сообщ.
#216
,
|
|
Цитата sergioK @ в файловой системе ,у тебя на только диске, Условие задачи прочти,говорят помогает Ты только слово «disk» осилил прочитать по ссылке? |
Сообщ.
#217
,
|
|
|
Цитата korvin @ Цитата sergioK @ в файловой системе ,у тебя на только диске, Условие задачи прочти,говорят помогает Ты только слово «disk» осилил прочитать по ссылке? Я это пример смотрел, три месяца назад, запусти у себя сам все поймешь , |
![]() |
Сообщ.
#218
,
|
|
sergioK, так что такое сокет-то?
![]() |
Сообщ.
#219
,
|
|
|
Цитата Fester @ sergioK, так что такое сокет-то? ![]() х,з забыл ![]() ![]() ![]() |
![]() |
Сообщ.
#220
,
|
|
sergioK, херовый из тебя программист
![]() (шутка ![]() |
![]() |
Сообщ.
#221
,
|
|
Цитата sergioK @ Я это пример смотрел, три месяца назад, запусти у себя сам все поймешь , ![]() ![]() import java.io.File; public class Main { private static long GB = 1000 * 1000 * 1000; private static long GiB = 1024 * 1024 * 1024; private static void printGB(long bytes) { System.out.printf("%.2f GB\n", (double) bytes / GB); } private static void printGiB(long bytes) { System.out.printf("%.2f GiB\n", (double) bytes / GiB); } public static void main(String[] args) { File f = new File("/Volumes/BOOTCAMP"); long free = f.getFreeSpace(); long total = f.getTotalSpace(); printGiB(free); printGiB(total); printGB(free); printGB(total); } } ![]() ![]() 27.78 GiB 94.29 GiB 29.83 GB 101.25 GB Запустил, система показывает то же самое. Дальше что? |
Сообщ.
#222
,
|
|
|
то что диск от файловой системы не отличаешь , |
![]() |
Сообщ.
#223
,
|
|
Цитата sergioK @ то что диск от файловой системы не отличаешь Ты похоже не в курсе, что такое файловая система. |
Сообщ.
#224
,
|
|
|
Цитата korvin @ Цитата sergioK @ то что диск от файловой системы не отличаешь Ты похоже не в курсе, что такое файловая система. Я вообще вчера hello world написал впервые в жизни, У тебя есть диск C: и диск d:,найди сколько на них свободного места без найтив кода . В принципе дсков может быть и больше, |
Сообщ.
#225
,
|
|
|
Цитата sergioK @ Цитата korvin @ Цитата sergioK @ то что диск от файловой системы не отличаешь Ты похоже не в курсе, что такое файловая система. Я вообще вчера hello world написал впервые в жизни, У тебя есть диск C: и диск d:,найди сколько на них свободного места без найтив кода . В принципе дсков может быть и больше, оно? Добавлено Ку? |
![]() |
Сообщ.
#226
,
|
|
Цитата sergioK @ У тебя есть диск C: и диск d:,найди сколько на них свободного места без найтив кода . Я это и сделал, только у меня диски ![]() ![]() ~ $ mount | grep disk /dev/disk0s2 on / (hfs, local, journaled) /dev/disk0s4 on /Volumes/BOOTCAMP (fusefs, local, synchronous, noatime) ![]() ![]() public class Main { private static void print(File f) { String path = f.getPath(); System.out.printf("%-20s - Available: %15d\n", path, f.getFreeSpace()); System.out.printf("%-20s - Total: %15d\n", path, f.getTotalSpace()); } public static void main(String[] args) { String[] paths = {"/", "/Volumes/BOOTCAMP"}; for (String path : paths) { print(new File(path)); } } } ![]() ![]() / - Available: 106091122688 / - Total: 397999996928 /Volumes/BOOTCAMP - Available: 29831790592 /Volumes/BOOTCAMP - Total: 101247348736 /dev/disk0s2 /dev/dist0s4 Какие проблемы? |
Сообщ.
#227
,
|
|
|
USB не видит , виртуальные диски , тоже кажеться нет нет ,
СD-ROM не разпознает, |
Сообщ.
#228
,
|
|
|
Это ты кому ответил?
|
![]() |
Сообщ.
#229
,
|
|
Цитата sergioK @ USB не видит , виртуальные диски , тоже кажеться нет нет , СD-ROM не разпознает, Зачем ты врёшь? ![]() ![]() public class Main { private static long kB = 1024; private static long MB = 1024 * kB; private static long GB = 1024 * MB; private static String formatSpace(long bytes, String qtitle, long qvalue) { return String.format("%3.1f %s", (double) bytes / qvalue, qtitle); } private static String formatSpace(long bytes) { if (bytes < kB) { return String.format("%-3d bytes", bytes); } if (bytes < MB) { return formatSpace(bytes, "kB", kB); } if (bytes < GB) { return formatSpace(bytes, "MB", MB); } return formatSpace(bytes, "GB", GB); } private static void printSpace(String path) { File f = new File(path); System.out.printf("%-5s free: %s\n", path, formatSpace(f.getFreeSpace())); System.out.printf("%-5s total: %s\n", " ", formatSpace(f.getTotalSpace())); } public static void main(String[] args) { String[] paths = {"D:/", "Z:/", "N:/", "G:/", "F:/"}; for (String path : paths) { printSpace(path); } } } ![]() ![]() D:/ free: 29,5 GB total: 125,1 GB Z:/ free: 29,5 GB total: 125,1 GB N:/ free: 55,9 GB total: 683,5 GB G:/ free: 0 bytes total: 11,3 MB F:/ free: 2,8 GB total: 59,8 GB Z -- виртуальный диск (subst z: d:\) Прикреплённая картинка
![]() Добавлено sergioK, похоже, изучение C/C++ не добавило тебе пользы. |
Сообщ.
#230
,
|
|
|
Цитата korvin @ Цитата sergioK @ USB не видит , виртуальные диски , тоже кажеться нет нет , СD-ROM не разпознает, Зачем ты врёшь? только что перепроверил, usb не видит |
![]() |
Сообщ.
#231
,
|
|
Цитата sergioK @ только что перепроверил, usb не видит У тебя какой-то кривой usb (или что-то другое). У меня всё работает. |
Сообщ.
#232
,
|
|
|
Цитата korvin @ Цитата sergioK @ только что перепроверил, usb не видит У тебя какой-то кривой usb (или что-то другое). У меня всё работает. теперь подключи таккой нидь девайс, |
![]() |
Сообщ.
#233
,
|
|
Цитата sergioK @ теперь подключи таккой нидь девайс, А ты не видишь, что ![]() ![]() F:/ free: 2,8 GB total: 59,8 GB у меня — это usb? |
Сообщ.
#234
,
|
|
|
Цитата korvin @ Цитата sergioK @ теперь подключи таккой нидь девайс, А ты не видишь, что ![]() ![]() F:/ free: 2,8 GB total: 59,8 GB у меня — это usb? камеру проверял ? или мобильник ? |
![]() |
Сообщ.
#235
,
|
|
Цитата sergioK @ камеру проверял? или мобильник? Флешку. А есть разница? Или ты не различаешь диск, файловую систему и интерфейс передачи данных? =) Впрочем, специально для тебя, дома проверю телефон и фотоаппарат. Если будет желание. =) |
Сообщ.
#236
,
|
|
|
Цитата sergioK @ камеру проверял ? или мобильник ? А если он включит камеру и мобильник и всеравно работать будет, ты дальше что еще придумаешь? Мне кажется что ты реально врешь. Сначало про какие то девайсы ты ничего не упоминал, а теперь у тебя то CD не видит, то USB, то теперь уже оно их не видит если что то подключить. Ты или приводи код, который у тебя не работает, или перестань нести чушь. Добавлено С таким же успехом я могу утверждать что у меня код на С/С++ не определяет место на диске, поэтому я юзаю Assembler. Добавлено sergioK, делай скрин результата выполнения программы на Java которая у тебя не определяет место. И код сюда выкладывай - в противной случае это все вранье и провокация. С такими утверждениями студенты не выступают на форуме, а ищут ошибку у себя в ДНК. |
![]() |
Сообщ.
#237
,
|
|
Цитата Wound @ А если он включит камеру и мобильник и всеравно работать будет, ты дальше что еще придумаешь? Что размер принтера не определяет. А че, он же по SMB как файл виден. =)) |
Сообщ.
#238
,
|
|
|
Я в голове уже все темы перебрал где я мог гнать такую чушь, и придумывать на ходу. Ну ты даешь... Удалю свой пост. |
![]() |
Сообщ.
#239
,
|
|
Цитата Wound @ Удалю свой пост. Аналогично ![]() |
![]() |
Сообщ.
#240
,
|
|
OpenGL, Wound, какая прелесть
![]() |
Сообщ.
#241
,
|
|
|
Цитата Qraizer @ OpenGL, Wound, какая прелесть Аж тошнит ![]() |
![]() |
Сообщ.
#242
,
|
|
IL_Agent, ты когда-нибудь видел, чтобы в Холиварах недавние оппоненты расшаркивались друг перед другом?
|
Сообщ.
#243
,
|
|
|
Цитата Qraizer @ IL_Agent, ты когда-нибудь видел, чтобы в Холиварах недавние оппоненты расшаркивались друг перед другом? Нет. Но я и не следил ![]() |
Сообщ.
#244
,
|
|
|
прочитал
|