Кът на програмиста...

За коментари и излияния от всякакъв род, число, спрежение и залог

Moderator: Moridin

User avatar
thunder
Forsaken
Posts: 3375
Joined: Wed Jan 21, 2004 2:18 pm
Location: София

Post by thunder » Thu Jun 21, 2007 12:39 pm

аз мислех да ходя, но това беше преди да ми тръснат deadline за 29-ти...
Scalpel. Sponge. Magic Wand!

User avatar
Roamer
Ascendent
Posts: 4895
Joined: Wed Jan 03, 2007 5:25 pm
Location: Hier ist hier und jetzt ist jetzt doch jetzt ist jetzt schon nicht mehr da...
Contact:

Post by Roamer » Thu Jun 21, 2007 12:41 pm

Мдам, и аз почти така - тази година ще пропусна... колкото и да не ми се ще...
Eric: I use my sword to detect good on it.
Ed: It's not good, Eric. It's a gazebo.

User avatar
Roamer
Ascendent
Posts: 4895
Joined: Wed Jan 03, 2007 5:25 pm
Location: Hier ist hier und jetzt ist jetzt doch jetzt ist jetzt schon nicht mehr da...
Contact:

Post by Roamer » Fri Jun 29, 2007 3:55 pm

Ммммдааа... жега... пълнолуние... зле ми се отразяват май... домъквам се някак до офиса, сядам да си дописвам една системка от класчета на Perl за правене на разни неща с разни други клиентски неща, описани в една база данни... стигам до описание на разни трети бази данни, които трябва да опиша в моята си база... и съответно си създавам нов клас и по подобие на другите и следвайки една-две хубави йерархии си го кръщавам Hoster::DB::DB::DB...

Добавено: мдааааа, и за първи път ми се наложи да забраня смайлитата в някое писанийце... иначе името на класа изглеждаше още по-идиотски... ма явно такъв ден е днес...
Eric: I use my sword to detect good on it.
Ed: It's not good, Eric. It's a gazebo.

User avatar
The Dragon
Elder God
Posts: 8762
Joined: Wed Jan 14, 2004 9:03 pm

Post by The Dragon » Fri Jun 29, 2007 5:14 pm

Колко системни администратори и програмисти са необходими за да могат да накарат 2 mysql сървъра и едно php да се разберат за енкодинга?
Отговор - очевидно повече отколкото имаме налични в офиса!
The sinking of the Titanic was a miracle to the lobsters in the ship's kitchen.

User avatar
thunder
Forsaken
Posts: 3375
Joined: Wed Jan 21, 2004 2:18 pm
Location: София

Post by thunder » Fri Jun 29, 2007 5:57 pm

Думата енкодинг е мръсна дума и не желая да се споменава в мое присъствие още известно време...

Пиша терминален емулатор и поддръжката на японски като хората направо ме убива. Защо им трябва на хората да пишат на японски в конзолата е отвъд мен
Scalpel. Sponge. Magic Wand!

User avatar
Roamer
Ascendent
Posts: 4895
Joined: Wed Jan 03, 2007 5:25 pm
Location: Hier ist hier und jetzt ist jetzt doch jetzt ist jetzt schon nicht mehr da...
Contact:

Post by Roamer » Fri Jun 29, 2007 6:13 pm

Бе аз отдавна си казвам, че второто нещо, което ще направя, когато един ден в ръцете ми попадне машина на времето, ще бъде да се върна някъде из мрака на 60-те години на миналия век, да хвана двама-трима души, от които Зависят Неща(tm), и да им подхвърля една-две думи за символни таблици, многобайтови кажгодета, унифицирана поддръжка от всички по един и същи начин и т.н.... ако от самото начало някой се беше замислил по тия въпроси... ама... ама... ама после се събуждам с нос върху бара и счупена чаша мартини до главата... и си поръчвам още едно...
Eric: I use my sword to detect good on it.
Ed: It's not good, Eric. It's a gazebo.

User avatar
Roamer
Ascendent
Posts: 4895
Joined: Wed Jan 03, 2007 5:25 pm
Location: Hier ist hier und jetzt ist jetzt doch jetzt ist jetzt schon nicht mehr da...
Contact:

Post by Roamer » Wed Jul 04, 2007 1:31 pm

Част от докиментацията на Perl-овския модул typesafety.pm:
Scott Walters wrote:Failure to keep track what kind of data is in a given variable or returned from a given method is an epic source of confusion and frustration during debugging.

Given a ->get_pet() method, you might try to bathe the output. If it's always a dog during testing, everything is fine, but sooner or later, you're going to get a cat, and that can be rather bloody.

Welcome to Type Safety. Type Safety means knowing what kind of data you have (at least in general - it may be a subclass of the type you know you have). Because you always know what kind of data it is, you see in advance when you try to use something too generic (like a pet) where you want something more specific (like a dog, or at least a pet that implements the "washable" interface).
Eric: I use my sword to detect good on it.
Ed: It's not good, Eric. It's a gazebo.

User avatar
The Dragon
Elder God
Posts: 8762
Joined: Wed Jan 14, 2004 9:03 pm

Post by The Dragon » Wed Jul 18, 2007 8:54 pm

Чудя се кога се дразня повече на майкрософт?
Когато не спазват никакви стандарти и конвенции или когато години след това решат да ги спазят и изведнъж се озовеш с огромно количество код, което просто престава да работи. И нямаш ни най малка представа какво да направиш за да тръгне, поради липса на документация :( Както ми се случи тази и миналата седмица с едни весели проектчета които изполват ATL,WTL, Com и ActiveX и изведнъж се оказже че WTL 7.0 нямат нищо общо с 8.0, компилатора на C++ 2005 отказва да приеме 7цата щото някои типове са променени, темплейтите се дефинират различно и кода е за пренаписване от начало. Като бонус получаваш факта че добрия стар msxml който си го ползваш от 98-а е разкаран във Виста щото сме мноо куул, така, че използвай 6цата, И не забравяй да си промениш MSXML навсякъде на MSXML2 и се моли return type-овете да работят.

OOP my ass.
The sinking of the Titanic was a miracle to the lobsters in the ship's kitchen.

User avatar
Roamer
Ascendent
Posts: 4895
Joined: Wed Jan 03, 2007 5:25 pm
Location: Hier ist hier und jetzt ist jetzt doch jetzt ist jetzt schon nicht mehr da...
Contact:

Post by Roamer » Thu Jul 19, 2007 10:30 am

Мдааааа, защо ли това ми звучи толкова познато - може би защото още са ми пресни спомените от прехода от GCC 3.x към GCC 4.x :) Макар че точно там повечето неща си бяха "истински" де - всичко, което четворката не приемаше, си беше нещо, за което тройката скимтеше, ако поискаш да ти скимти... но все пак в един момент се случи това с оказването с голяма купчина парчета най-различен код (особено ако си идиот, който в свободното си време преправя програмите на други идиоти, така че да вървят на операционните системи на трети идиоти :))- голяма купчина парчета най-различен код, който вече просто не ще и не ще да се компилира...

Има много неща, които Sun не са направили като хората през всичките години, но има едно нещо, за което ги уважавам страшно много - политиката им за deprecated и obsoleted interfaces - идеята за това, че трябва да имаш поне една пусната версия на продукта, в която този интерфейс или feature е обявен за obsolete на видно място, и то не само в документацията, след това да дадеш на хората поне година да свикнат с положението на нещата, и чак след това можеш да си позволиш да пуснеш версия, в която го няма. Имам някакви спомени за дори още по-тежък процес преди години, в който трябваше да имаш поне един minor release (версия X.Y), в който интерфейсът, програмата или опцията да бъде обявена за deprecated, *след това* поне един major release (версия X.0), в който да я обявиш за deprecated и чак в *следващия* major release можеш да я премахнеш - но в момента нещо не мога да намеря докименти, които да излагат точно тази политика.

Добавено: така де, това със Sun всъщност няма нищо общо нито с Microsoft, нито с GCC - просто е любимият ми пример за това как *трябва* да бъдат премахвани интерфейси.
Eric: I use my sword to detect good on it.
Ed: It's not good, Eric. It's a gazebo.

User avatar
dellusion
Warmage
Posts: 1248
Joined: Thu Dec 28, 2006 10:36 am
Location: София

Post by dellusion » Thu Jul 19, 2007 11:45 am

Има много неща, които Sun не са направили като хората през всичките години, но има едно нещо, за което ги уважавам страшно много - политиката им за deprecated и obsoleted interfaces - идеята за това, че трябва да имаш поне една пусната версия на продукта, в която този интерфейс или feature е обявен за obsolete на видно място, и то не само в документацията, след това да дадеш на хората поне година да свикнат с положението на нещата, и чак след това можеш да си позволиш да пуснеш версия, в която го няма. Имам някакви спомени за дори още по-тежък процес преди години, в който трябваше да имаш поне един minor release (версия X.Y), в който интерфейсът, програмата или опцията да бъде обявена за deprecated, *след това* поне един major release (версия X.0), в който да я обявиш за deprecated и чак в *следващия* major release можеш да я премахнеш - но в момента нещо не мога да намеря докименти, които да излагат точно тази политика.
Така е. Само че има един мажорен проблем. И той е, че 80% от библиотеките, които се ползват масово в да кажем едно уеб приложение, не идват от сън :roll: . А те вече я спазят, я не спазят добрата практика за деприкираните методи. Не че досега съм имал някакви големи проблеми с несъвместимост, просто ползвам възможноста да налея безразборното и неконтролируемо бълване на търдпарти библиотеки, нямащи Сънска алтернатива.

Добавка:

I mean omg wtf. Направили те езика Java, стабилност, мултиплатформеност а у. Ама за да направиш нещо фром скрач, без да ползваш сървлет контейнер, няква J2E система, MVC framework ше ти трябват хилядолетия. А аз винаги съм бил на мнението, че като пуснеш даден продукт, той трябва да е нещо завършено, смисъл да не ти трябват(по животозависим начин) други неща за да създадеш система. И каква е тая платформена независимост. Да хубаво - нещо написано за win ше върви и на линукс, ама за сметка на това трябва да се съобразяваш с 1000 други неща(с уеб контейнера основно). Та пак се получава, че на Пешо системата не тръгва на ПЦ-то на Гошо...
Last edited by dellusion on Thu Jul 19, 2007 12:01 pm, edited 1 time in total.

User avatar
Roamer
Ascendent
Posts: 4895
Joined: Wed Jan 03, 2007 5:25 pm
Location: Hier ist hier und jetzt ist jetzt doch jetzt ist jetzt schon nicht mehr da...
Contact:

Post by Roamer » Thu Jul 19, 2007 11:59 am

Мммм... аз лично не виждам нищо лошо в разнообразието и възможността за избор от различни независимо разработени библиотеки - особено когато (не винаги, но твърде често!) това значи, че има и независимо разработени библиотеки с отворен модел на развитие, които имат правилни политики за release engineering и архитектура и проектиране и поддръжка и какво ли не още. При положение, че говориш за не-Sun-ски неща, предполагам, че говориш за Java; аз лично не говорех непременно за Java, говорех за политиката на Sun, която се отнася до всичките им продукти, още от SunOS/Solaris навремето (всъщност именно за SunOS си спомням по-твърдата им политика за major releases X и X+1)... но дори и специално за Java, и там има независими проекти, ръководени съвсем както трябва - едва ли има смисъл да споменавам Jakarta, The Apache Foundation и т.н., чийто код дори си е влязъл в официалните Sun-овски неща :)

Да, винаги го има моментът с "уф, има 117 различни библиотеки, всяка от които казва, че прави това, което искам, откъде да знам сега коя ще го прави наистина?", но пък 1. има доста информация online (problem report systems, пощенски списъци, форуми, блогове, какво ли не още), която можеш да ползваш, за да решиш, и 2. с времето си изграждаш мнение и критерии за това кои проекти - или даже кои разработчици и проектите, в които те участват - си заслужава да пробваш първо :)
Eric: I use my sword to detect good on it.
Ed: It's not good, Eric. It's a gazebo.

User avatar
thunder
Forsaken
Posts: 3375
Joined: Wed Jan 21, 2004 2:18 pm
Location: София

Post by thunder » Thu Jul 19, 2007 4:35 pm

Sun като се накефят на чужда библитотека и си я слагат в пакетчето :)

Ако пишеш на Standard Edition общо взето не ти пука особено, там проблеми с 3rd party libraries кой-знае какви няма, виж за уеб... Друга бира е там. Затова и хората са си направили въпросните frameworks и т.н. Гадно се настройват и с много неща трябва да се съобрази човек, но на колко машини се налага да я сложиш тази система все пак? Тя не е за масово производство и няма да я набуташ на 1000 компютъра все пак :)
Scalpel. Sponge. Magic Wand!

User avatar
The Dragon
Elder God
Posts: 8762
Joined: Wed Jan 14, 2004 9:03 pm

Post by The Dragon » Fri Jul 20, 2007 12:03 pm

- This is blasphemy...this is madness!


- Madness? This! Is! VISTAAAAAAAAAAAAA!
The sinking of the Titanic was a miracle to the lobsters in the ship's kitchen.

User avatar
Xellos
Moderator
Posts: 19560
Joined: Fri Apr 02, 2004 10:08 pm

Post by Xellos » Fri Jul 20, 2007 6:13 pm

То стари лафове за сичко има ;)

"The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offense."
- Edsgar Dijkstra (1930-2002)


"C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, it blows away your whole leg."
- Bjarne Stroustrup


"A mathematician is a device for turning coffee into theorems."
- Paul Erdos (1913-1996)
That's a good start, but if you want to be a real writer, you're going to need to procrastinate a lot more.

User avatar
Roamer
Ascendent
Posts: 4895
Joined: Wed Jan 03, 2007 5:25 pm
Location: Hier ist hier und jetzt ist jetzt doch jetzt ist jetzt schon nicht mehr da...
Contact:

Post by Roamer » Fri Jul 20, 2007 6:17 pm

Xellos wrote:То стари лафове за сичко има ;)
Вярно :)
Xellos wrote:"A mathematician is a device for turning coffee into theorems."
- Paul Erdos (1913-1996)
Хммм... по тая логика нашего брата програмистите какво трябва да излезе, че сме - механизъм за превръщане на кафе, кола и зелен чай в бъгове?... Или, ако погледне човек малко по-нататък, ще излезе, че сме просто тайни съратници на алкохолната индустрия - консумираме известно количесто кафе, кола и зелен чай (а и немалко ниско- и високоалкохолни напитки), след което ги преработваме в бъгове, тези бъгове биват бухнати обратно в Системата, достигат до крайния потребител и го докарват до състояние, единственият изход от което е пик в консумацията на високоалкохолни напитки...
Eric: I use my sword to detect good on it.
Ed: It's not good, Eric. It's a gazebo.

Who is online

Users browsing this forum: No registered users and 18 guests