BgLOG.net
Ето това не е лесно!
By TeodorGig , 3 August 2006
Софтуерната индустрия, за кратния период на своето съществуване, претърпява едно изключително бурно развитие. Производството на софтуер е лесно достъпно и не изисква колосални инвестиции, какъвто е случаят с производството на електроника. Степента на достъпност е толкова висока, че силно мотивиран тийнейджър, разполагащ с личен компютър и свободно време в излишък, може да се превърне в производител. Точно тази достъпност прави пазарът на софтуерни продукти изключително наситен и то в условията на една жестока конкуренция.


Производството на софтуер за персонални компютри е толкова силно развито, че навлизането на този пазар е почти немислимо, докато софтуерът за мобилни устройства все още не е толкова разпространен. Все пак, какви са предимствата да се създава приложен софтуер примерно за мобилни телефони:


1. Мобилните телефони станаха популярни в последните няколко години и все още няма толкова много написан софтуер за тях.


2. Липсва стандартизация, което позволява силно сегментиране на пазара и намаляване на опасността от конкурентни продукти.


3. Ограничаване на възможностите за софтуерно пиратство, поради намаленият сегмент от потребители.


4. Броят на потребителите използващи персонален компютър е приблизително десет пъти по-малък от броя на потребителите използващи мобилен телефон. В България на около 400 000 собственици на персонален компютър съответстват около 4 000 000 притежатели на мобилен телефон.


5. Писането на софтуер за мобилни устройства изисква изключително добри умения, тъй като става въпрос за устройства с относително слаби процесори, с ограничено количество памет, така че за да се получи добър продукт няма място за излишни редове код.

6. Тъй като мобилните телефони са комуникационни устройства, то използването на комуникация между отделните потребители би могло да направи софтуера изключително привлекателен за по-голяма група хора.


7. Наличието на микро-разплащания, базирани на SMS съобщения, би могло да направи софтуера значително по-изгоден от страна на печалбите в сравнение с продуктите предназначени за персонални компютри.


Без съмнение бъдещето е посветено на все по-миниатюрните устройства с все по-големи възможности, доближаващи възможностите на персоналните компютри. В близките години все повече софтуер ще се създава точно за такъв вид устройства, което ясно показва едно печелившо направление в което да се развиват умения по програмиране.


Тодор Балабанов - teodorgig@mail.ru
Legacy hit count
698
Legacy blog alias
8258
Legacy friendly alias
От-персоналните-компютри-към-мобилните-телефони
Компютри
Програмиране
Софтуер
Разработчици

Comments

By koumynyka , 26 May 2006
Защо се дънят компютърните програми

Юдаизъм: Не трябва да се задава въпросът защо се дънят програмите. Трябва да се чака новата версия!

Католицизъм: Първата програма беше безгрешна. Но когато се опита да работи на компютър Apple, започна да се дъни. Всички програми са версии на първата програма и съхраняват нейните грешки с цел съвместимост.

Православие: Не трябва да се задава въпроса защо се дънят програмите. Да се ползват нови версии (особено западни) също не трябва. Не трябва да се интересуваме дали дадена програма работи или не. От значение е само какво става след нейната де-инсталация.

Протестантство: Програмистът така обича своите програми, че им позволява да се дънят и успиват. И въобще, трябва да се обръща повече внимание на неработещи програми. Това, естествено, няма да ги поправи но пък е доходоносно.

Свидетели на Йехова: Само ние притежаваме истинската програма, премахваща всички софтуерни проблеми. И сме готови да я предложим на всички практически безплатно. Но тя няма да работи ако вие не повярвате, че тя наистина поправя всякакви софтуерни проблеми. Ако сте я инсталирали, а проблемите не са исчезнали, значи вие не сте повярвали в нея.

Мормони: Програмите се дънят, защото ги пускат на неправилни компютри. Правилни компютри имаме само ние! Съвсем близо сме до момента в който ще разберем как да ги включим.

Мюсюлмани (сунити): Ако дадена програма греши, то тя е невярна. Невярните програми трябва да се изтриват. Безпогрешни са само вярните програми. Ако вярната програма казва, че 2 по 2 прави 5, то всички програми даващи други резултати грешат.

Мюсулмани (шиити): Само един програмист е писал вярни програми. Вярни са също така и техните следващи версии. Всички останали програми са невярни по определение.

Индуизъм: Програмите се дънят поради това, че в тях е имало грешки още преди тяхната инсталация, когато са били други програми на други компютри. След де-инсталация те отново ще станат други програми и ще се дънят заради сегашните си грешки. Коригиращи версии няма да помогнат защото всичко е предопределено.

Будизъм: Програмите се дънят поради това, че вие си задавате този въпрос. Грешно е да се стремиш към избавяне от софтуерните проблеми чрез коригиращите версии - те просто ще умножат проблемите. Няма никаква разлика между софтуер и хардуер, програма и програмист. Програма, избавена от проблеми изпада в нирвана. Програмите изпаднали в нирвана не се дънят защото няма нужда да работят.

Дзен-будизъм: Дъни ли се програма, която разпечатва сама себе си? Как изглежда програма, незаписана на нито един дисков носител? Веднъж един ученик попитал своя учител как да се избави от грешки в програмите и учителя му дал вируса CIH. Един друг ученик казал на учителя си, че иска да има програми без грешки.
- Глупак! - извикал учителят, - А защо не искаш грешки без програми? - и ударил с Уинчестър-а си ученика по главата.
Ако вие още не сте получили просветление, няма за какво да говорим.

Даоизъм: Програмна грешка, която може да се открие не е истинска програмна грешка. Коригираща версия, която е възможно да се напише не е истинска коригираща версия.

Конфуцианство: Програмите се дънят поради неразбирането на ред неща. Вкички опити да се поправят програмите с помоща на коригиращи версии (както правят западните варвари) противоречат на етикета и трябва да се избягват. Единствено напълно-мърдият ще осъзнае истинския смисъл и необходимост от способността на програмите да се дънят.

Сатанинство: Всяка програма има право да се дъни. Срамът от програмните грешки е християнска пропаганда.

Растаманство: О, и програмите ли? А откъде си намират трева?

Атеизъм: Вярата в така-наречената "коригираща версия" на дадена програма е заблуда на потребителя. Способността на програмите да грешат - това е обективен природен закон и в случая нищо не можеш да направиш.

Социализъм: Програмите се дънят поради неравенството. Различните програми имат различен размер, разширение и се нуждаят от различно количество памет. Коригиращите версии не биха помогнали в борбата срещу програмните грешки защото отстраняват последствията а не причините за възникването им. Всички програми трябва да се уеднаквят, да се унищожат всякакви опрационни системи освен една, да се изземат всички PC от потребителите и вместо тях да се внедри един главен компютър.

Комунизъм: Програмите се дънят поради вредителство! Да се разстрелят програмистите. За всеки случай, да се разстрелят и производителите на компютри. Въобще, защо са ни някакви си там програми? Та ние вече си имаме Програмата на Партията!

Нацизъм: Програмите се дънят поради същата причина поради която и няма вода - евреите!

Фройдизъм: По принцип, всички графични среди (като Windows например) са предназначени главно за разглеждане на порно-снимки. А текстовите редактори - за порно-текстове. А езиците за програмиране - за написване на графични среди и редактори, използвани за разглеждане на порно-картинки и порно-текстове. Ако програмите се използват за други цели - то те неизбежно се дънят.

Екзистенциализъм: В края на краищата не ни интересува защо се дъни дадена програма. Ако вие задавате такъв въпрос, то значи вече имате и коригираща версия.

Феминизъм: Програмите се дънят поради дискриминация на разширенията! И въобще, всичко това са го измислили шовинистическите свине от потдръжката, дето се боят да не би да загубят работата си.

Сексуални малцинства: Да се каже за дадена програма че се "дъни" - това е оскърбителен предразсъдък! Това е просто една особеност в повече с която междувпрочем може да се гордееш. Всъщност, такива особености имат и много знаменити програми като Microsoft Windows, Netscape Navigator и Borland Delphi!

Организации против абортите: Дънещите се програми също имат право на инсталация!

Green Peace: Програмите се дънят поради замърсяването на околната среда! Преди 500 години, когато промишлеността не е тровела Земята, никой и не е чувал за софтуерни проблеми. Нима не е така?


Legacy hit count
789
Legacy blog alias
6762
Legacy friendly alias
Защо-се-дънят-компютърните-програми
Компютри
Забавление
Програмиране
Разработчици

Comments

By bogomil , 17 April 2006
Отдавна не бях писал в БГЛог, не защото не искам, а защото няма време и всичко около мене се равива с главоломна скорост (малко над звуковата).

Чудя се, зашо хората ползват РНР, според вас това на какво се дължи? Ползвате ли РНР, как, защо, от колко време?

Отговорите, които са изкренни ще получат награда от УебТех 2006.

Айде със здраве.

Бого
Legacy hit count
860
Legacy blog alias
6037
Legacy friendly alias
-Сам-съм-други-няма-
Програмиране
Разработчици

Comments1

assenoff
assenoff преди 20 години
Айде да се отчета с изказване без задълбочаване (изкушавам се) ...
Защото е прекалено популярен, има достъпно инфо и сума ти допълнения и екстри писани наготово ... И колкото и да не ми се иска, се налага да продължаваме по избраният път (Bulfleet)

Иначе - само Perl :)

Кога дойде пак време за уебтех 06? Ц-ц-ц ... този път ще трябва предварително нещо да си уговоря срещичките, че миналият никой не познавах и много хаотично подходих.

Марио Асенов
By micromax , 6 April 2006
Ако посетите http://www.ajaxwrite.com/ можете да ползвате много удобен текстов редактор, който до голяма степен би ви заместил майкросовската програма за писане и оформяне на докумнти. Като редактор не е кой знае какво. Редакторът за текст на БГЛог май има повече функции,  но най-голямата му екстра е, че можеш да запазваш написаното в различни формати, единият от които е този за Уорд.  Надявам се да ви свърши работа някой път.
Legacy hit count
1269
Legacy blog alias
5802
Legacy friendly alias
Word-през-интернет
Интересни линкове
Интернет
Програмиране

Comments2

Teri
Teri преди 20 години и 1 месец
Впрочем, не знам дали знаеш, но и тук се ползва Ajax, а концепцията е Web 2.0 :)
Janichka
Janichka преди 20 години и 1 месец
Ванка, хубаво е, че даде линка. Не се знае кога на някой ще му се наложи да седне на комп без програма, на която един документ да напише....
By micromax , 14 March 2006
Това е предназначено за всички, които ползват ФлексТайп(или поне версия 2К.Не знам дали работи при по-стари версии) и програмисткия фолклор им е интересен.
Няма да ви развалям изненадата, като ви кажа какво ще откриете, но си направете труда да натиснете с десен бутон върху иконката на програмта (тази която се намира в систем трая до часовника).
После изберете Опции.
След това щракнете на бутона долу в дясно (За програмата)
Като се отвори прозорчето в което се споменава за кого е регистриран продукта и т.н. трябва да натиснете SHIFT и да наберете DEAD_ONE(няма да виждате никакво текстово поле докато набирата. Не се притеснявайте. ) Интересното идва след натискането на последния клавиш "Е"-то.
Наслаждавайте се !!!
(Да ви предупредя, не е вирус и нищо не може да се случи на системата ви. Така че пробвайте смело)
Legacy hit count
2289
Legacy blog alias
5280
Legacy friendly alias
Само-за-фенове
Невчесани мисли
Програмиране
Поезия
Софтуер
Windows

Comments13

rammstein4o
rammstein4o преди 20 години и 1 месец
Ако говориш за Easter Egg-a дето ти излиза някакъв текст за "истинските хакери" дето пишели само на паскал и Т.Н глупости доста хора от тази общност го знаят... коментирали сме го във един форум преди доста време
Pavlina
Pavlina преди 20 години и 1 месец
Понеже се говори за FlexType, може ли да ми бъдете полезни? Не съм поклонник на тази програма, но ми се налага да я ползвам, защото пиша на един шантав стандарт – нито е BDS, нито е фонетична подредба. Познавате ли друга, която позволява клавишите да се нареждат така, както потребителят желае?
THE_AI
THE_AI преди 20 години и 1 месец
Я някой screen shot Моля! Че има хора, които не се доверяват на такива тъпи програми. :)
Павлина? Да не говориш за DVORAK?
Pavlina
Pavlina преди 20 години и 1 месец
Здравей, THE_AI!
Не говоря за DVORAK. Навремето имах пишеща машина IBM (да, отдавна, в каменната ера ;) с три различни печатащи глави – за три различни азбуки. Разположението на кирилските букви беше много странно за мен, понеже аз вече бях усвоила BDS по десетопъстната система. Мисля, че стандартът беше руски, но не съм сигурна. И пак се учих да пиша по десетопръстната система. И когато в живота с гръм и трясък навлязоха компютрите и пишещата машина отпътува към гаража на село, вече нямах сили да повтарям упражнението. Тогава мощният текстов редактор РЕ2, за който може и да не си чувал (ех, славни времена бяха! :), даваше възможност за пренареждане на клавишите. После се появи FlexType, който също ми вършеше работа. И продължавам да си го ползвам и днес. Но тъй като не го долюбвам, търся алтернатива. Ако знаете, кажете. :)
gargichka
gargichka преди 20 години и 1 месец
Бе тоя флекс ... един път го бях инсталирала на един немски уиндоус и той му бръкна да не казвам къде и уиндоуса страшно се прецака! Няма оправия, реинстал, та да не беше даже и формат, ама май не беше. Не помня вече. Тъпото: не беше мой компютъра и се получи неудобно.
Тъй че ... флекса не прави винаги хубави работи :)


rammstein4o, много интересна статийка, макар и да не разбрах всичко.
rammstein4o
rammstein4o преди 20 години и 1 месец
Изводи от статията:

1. Като цяло... ако на един уиндоус му сложиш кирилицаторска програма... било то флекс или нещо друго му е... мамата

2. Единствените прилични и удобни за използване кодови таблици са БДС и Фонетичната

3. Съществуват 10-тки кирилистични кодови таблици и Павлина ще трябва да е малко по точна ако иска да и помогнем... Каква и е операционата система и поне горе долу наясно ли е за коя от изброените в статията таблици става дума

4. И накрая но не на последно място... инжинера е пич :)
micromax
micromax преди 20 години и 1 месец
Винаги съм имал Флекс Тайп на ПСто си.
Като се започне от версията му за 3.11 че до ХР. Досега не ми е скапвал компютъра, макар, че съм чувал разни истории от тук от там.
rammstein4o
rammstein4o преди 20 години и 1 месец
Добре... специялно за XP с какво е по добър флекса от вградения language bar???
Защото според мен си е чиста загуба на ресурси пък и била тя (загубата) пренебрежимо малка
Pavlina
Pavlina преди 20 години и 1 месец
Здравей, rammstein4o! Благодаря ти за желанието да ми помогнеш. Доколкото схващам, при мен проблемът е в подредбата на буквите на клавиатурата, а не в различните кирилски кодови таблици. (Всъщност там също възниква проблем, но за него – друг път.) Клавиатурната подредба, която аз използвам, не отговаря на нито една от съществуващите и поддържаните от Windows. Още повече че пиша и на старобългарски, и на гръцки и за тази цел с помощта на FlexType съм си създала още две подредби. Когато пиша със съвременна кирилица, използвам отварящи и затварящи кавички, дълго тире и други знаци, които стандартно ги няма на кирилските клавиатурни подредби. Търся програма, която да ми позволява да си сложа например буквата “р” на който си искам клавиш – например там, където е “1”. В момента работя под Windows XP.

taralezh
taralezh преди 20 години и 1 месец
И какво става? Сложете print screen, за да видим и ние.
Мразя FT, ползвам Injinera за подредба на клавиатурата и Cyrilla 2003+ за проверка на правописа.
Едно време, когато деинсталирах FT в работата, така се омазаха нещата, че на ръка съм трила папки, файлове и регистри.. Сега не искам и да чуя за FT. Същото е и с антивирусната Norton.
rammstein4o
rammstein4o преди 20 години и 1 месец
Специялно си сложих флекс на vmware-а за да ти демонстрирам..

скрееншот

Видях доста зор докато комвертирам пълния текст на тази глупост към формат подходящ за четене от нормални програми... явно тези в датекс дори когато слагат нещо предназначено предимно за забава във продуктите си го слагат така че да не ти е хич забавно ако се занимаваш с него... надолу е текста....

Истинският програмист - НЕ ПИШЕ НА ПАСКАЛ

В ония далечни времена истинските мъже разбираха от програмиране. Истинският програмист (ИП) не се страхуваше от компютъра. пишеше "DO 10 I=1.10", а простосмъртните гледаха с увиснала долна челюст.
Но времената се менят. Докарахме я дотам, че днес и готварската печка има микропроцесор, а дванайсетгодишни хлапаци засрамват ИП в игра на Invaders, Digger или SopWith. ИП са заплашени да бъдат изместени от гимназисти с 8-битови домашни компютри или от не доучили студенти със 16-битови персонални сметалки. За щастие между тези две категории натрапници и ИП има съществена разлика. Добре е хлапаците да я знаят, за да имат идеал, към който да се стремят.
ИП най-лесно се познава по езика. ИП програмира на Фортран. По-консервативните държат на версията IV. но Големият ИП при нужда се съгласява и на версия 77, а кърмачетата пишат на Паскал (съвсем непрогледналите - на Турбо).
ИП са скромни. Те се задоволяват напълно с перфоратор, компилатор за Фортран и кока-кола. Когато се появиха персоналните компютри, ИП приеха снизходително дори Бейсик (след някои тайнствени доработки и естествено с компилатор). Накратко - ако не можеше да си свършите работата с Фортран или Бейсик, пробвайте с асемблер. Ако не знаете и асемблер. не си струва изобщо да се захващате. Но ако задачата е неотложна. а вие познавате само Паскал, най-добре възложете работата на ИП. Лъжицата е за друга уста.
Когато завърших университета, мислех се за най-добрия програмист. Можех да напиша непобедима програма за игра на кръстчета и нули. знаех пет езика за програмиране и пишех програми по хиляда реда, които дори работеха, и можех да изпия две бири на един дъх. След това обаче попаднах в реалния свят. Първата ми задача беше да разбера програма на Фортран с двеста хиляди оператора и да я направя два пъти побърза. Всеки ИП ще ви каже, че за тази цел не може да ви помогне цялото структурно програмиране на света, ако нямате талант и много кола-кола

Постепенно разбрах някои неща за ИП и структурното програмиране:
* ИП не пише на Паскал.
* ИП не се страхува да използва GОТО.
* ИП може да пише цикли, заемащи цели страници, без дa се оплете в тях.
* ИП харесва аритметичният IF, защото програмата става по-забавна.
* ИП пише самомодифнциращи се програми, спестявайки 20 наносекукди от някой еднократен преход.
* ИП няма нужда от коментари, за него програмите са очевидни.

Каква операционна система използва ИП? Дали СР/М или UNIХ? Пази боже! Тях дори пенсионерите и гимназистите ги разбират. При UNIX обикновеният човек, разбира се, не може да запомни какво прави командата PRINT тази седмица, но тази трудност не е достатъчна. ИП работи с 0S/370 - наистина забележителна операционна система. Тя може да унищожи неколкодневна работа само с един-единствен интервал на грешно място. По този начин се стимулира бдителността.
Добрият програмист може да намери в ръководството и да разбере току-що появилото се съобщение ПК3051. Големият програмист може ла пише на езика JCL без справочник. Великият ИП обаче може да открие грешка, погребана в шест мегабайтов дъмп без шестнайсетичен калкулатор, а при липса на хартия - дори и на екран.
ИП си подбира текстов редактор, който подхожда най-добре на душевната му нагласа я на вратовръзката подарена от тъщата. ИП не харесва концепцията "Каквото виждате това получавате". Той иска редактор от типа "Искаш-получаваш", а какво наистина получавате друга тема. Редакторът трябва да е сложен, тайнствен, мощен, безмилостен и опасен. със странно чувство за хумор. Редакторът трябва да може с една грешка да унищожава цялата програма или поне най-важните сегменти. Друга престижна грешка е да запълва с двоични нули масивите, защитени от изтриване и неправомерен достъп, които съдържат данните от измерванията и изчисленията на група от четиринайсет висококвалифицирани и нервни специалисти (двама от които бивши боксьори). Хубаво би било редакторът от време на време да вмъква самичък по някоя тънка и загадъчна грешка в подпрограма, която сработва само веднъж.

-= Къде работи ИП? =-

Какви програми привличат вниманието му?
Можете да бъдете сигурни, че никой ИП не пише статистически програми на Паскал, не сортира адреси с Lotus и не прави табулограми за медицински прегледи. ИП търси задачи с разтърсваща света сложност. Някои от Най-страшните ИП работят в НАСА. До голяма степен на тях се дължи отиването на хора на Луната. Компютрите на космическата совалка са програмирани от ИП. Мнозина от тях знаят наизуст целите операционни системи на Pioneer и Voyager и при нужда оправят нещата от Земята по радиото, без да погледнат изходните текстове. С комбинация от дълги програми на Фортран на Земята и къси на асемблер в Космоса те вършат невероятни неща - например след шестгодишен полет улучват - десет-километровия процеп в пръстените на Сатурн или сменят някой, кондензатор 83 секунди преди да се е повредил. Казват, че един ИП успял да натика програма за разпознаване на образи в останалите неколкостотин байта от паметта на Voyager. Впоследствие именно те откриха новия спътник на Юпитер.
Понякога ИП отстъпват и изпълняват по-тривиални задачи при условие, че те са прилично платени. Някои ИП например правят видеоигри, но не обичат да ги играят. ИП знае как да бие всеки път компютъра или поне да се впише в началото на класирането, затова не вижда никакво предизвикателство в играта.
ИП работят и за киното - би било глупаво да не се приберат парите на 50-те милиона почитатели на "Междузвездни войни" например. Малко по малко ИП започват да се занимават и с машинна графика; главно защото никой още не й е намерил разумно приложение и тя засега е нещо като хоби.

-= Как живее ИП? =-

Изобщо както работи, така се забавлява - с компютри. Той тайно се учудва (естествено наум) защо му плащат за работа, която би вършил и само за удоволствие. Типичният ИП живее пред терминала, заобиколен от листингите на всички програми, които някога е написал. Те са натрупани в строго хронологичен ред, представляващ сам по себе си изключително интересен проблем от областта на случайните събития. Наоколо ще видите чаши с кафе на дъното. Понякога в тях плуват кибритени клечки, угарки и други потребни или непотребни неща, например бледа течност с цвят на чай и дъх на много ром и малко лимонов сок. Не са наблюдавани случаи на недоизпита бира. На пода се въргалят опаковки от бисквити, празни кутии от цигари и билети за Онзи Концерт, На Който Трябвало Да Отиде С Жена Си. Някъде задължително има и неупотребяван шаблон за блоксхеми. От време на време ИП напуска леговището си за няколко глътки -въздух и/или бира.
Когато няма друг изход, ИП работи по петдесет часа без прекъсване. Тайната е, че той предпочита този стил. Дългото време за отговор на системата не му пречи, той подремва между две компилации. Ако не го държат изкъсо, първите десет седмици ИП чопли някоя малка, но изключително интересна част от проблема. През последната седмица щурмува с два-три петдесетчасови маратона. Това не само прави впечатление на ръководството, но и дава удобно извинение да не се пише документация.

Ето и някои характерни черти на ИП:
* ИП по принцип не носи вратовръзка.
* ИП отива на работа по обяд. Ако дойде по-рано, значи е объркал нещо.
* ИП може да не помни рождената дата на съпругата си, но знае наизуст ASCII таблицата.
* ИП не знае да готви. Когато му се наложи, поради липса на алгоритъм прилага метода на пробите и грешките. Понякога успява.
* ИП използва водата за миене. От течностите предпочита кафе или бира.
* На забава ИП стои в ъгъла н говори за защити на операционните системи и начини за преодоляването им.
* На футболен мач ИП сравнява играта със своя листинг.
* На плажа ИП чертае блоксхеми по пясъка.
* ИП ходи на дискотека, за да открие системата в работата на светлините.
* На погребение ИП казва: "Бедният Джордж ! Програмата му почти тръгна преди инфаркта".

Колкото и да е чудно, бъдещето пред ИП никак не е мрачно. Докато има мъгляви задания, изтънчени грешки. нереални цели и павилиони за безалкохолни напитки, ИП ще продължи да съществува. Ще има кой да се втурне в проблема, оставяйки документацията за после.

taralezh
taralezh преди 20 години и 1 месец
О! Благодаря!

:) Луда работа!
acecoke
acecoke преди 20 години и 1 месец
Мерси, Рамщайнчо. И аз го недолюбвам този ФТ, ама и това не можах да го дочета. Може би не съм никакъв ИП, но все си мисля, че ако следвам тази логика, ИП би трябвало да работи САМО и ЕДИНСТВЕНО на асемблер и то МИКРО асемблер. Иначе става един клиент на компилатора :))) Даже ако е толкоз отворен ИП направо с нули и единици да си пише програмката :))

Както споменах, не можах да дочета излиянията на този ИП, но все пак пускам един глас за Паскал и за Делфи. Досега не съм срещал нерешима задача с тях. Бързо, лесно, ефикасно и ефектно, на цената на неголям (в сравнение с други езици на високо ниво) компилиран код. Какво повече му трябва на човек :)))
By TeodorGig , 13 March 2006
Една интересна презентация, която може би ще бъде полезна като пример при други разработки:

 Пазар и свобода при софтуерните продукти
Legacy hit count
805
Legacy blog alias
5249
Legacy friendly alias
Пазар-и-свобода-при-софтуерните-продукти
Ежедневие
Размисли
Компютри
Интернет
Програмиране
Нещата от живота
Коментари
Софтуер
Разработчици

Comments2

assenoff
assenoff преди 20 години
Много би ми било интересно да разбера "пълнежа" на тази по обективна необходимост сбита прецентация, Тодоре!

И ми е познат един от използваните източници :)

Със здраве, Марио Асенов
bogomil
bogomil преди 20 години
И на мене би ми бил много интересен.
By acecoke , 3 March 2006

Здравейте, уважаеми уеб програмисти!

Като прохождащ в областта на уеб-програмирането (даже още пропълзяващ :)) бих искал да споделя опита ми до момента и да помоля за някой и друг съвет.

Та значи направих аз една страничка на HTML, която реших да структурирам под формата на фреймсет. В различните фреймове отварям различни странички и така се получава що годе прилична и спретната визуализация. Обаче се получи следният ефект(дефект), когато страницата беше индексирана от Гуги-то. Като търся нещо и бат Гугъл го намери в някоя от страничките на сайта и съответно се отвори тази страничка, ами липсва фреймсета :))) Отваря се само съответната страничка, която би трябвало да се показва нейде вътре в някой от фреймовете. Логично, разбира се, не се чудя. Но бих искал, ако някой може да ми даде съвет за подход и литература, която да ме насочи към решаването на проблема.

Благодаря ви много и ако въпросът ми е тъп, просто го прескочете :)) 

Legacy hit count
818
Legacy blog alias
5001
Legacy friendly alias
Въпрос-от-прохождащите
Интернет
Програмиране

Comments4

rammstein4o
rammstein4o преди 20 години и 2 месеца

Решението е просто... малко JavaScript на всяка от страниците зареждащи се във frame

<script language="JavaScript">
if (window.self == window.top) {
window.location.href='frameset.html';
}
</script>

 

Но лично моят съвет е да не използваш фреймове... не е удобно, не е красиво, имаш проблеми от сорта на горния и Т.Н

acecoke
acecoke преди 20 години и 2 месеца

Страшно съм благодарен, Рамщайнчо! Много, много задължен!

Благодаря ти за качествения отговор.

Проблемът ми е, че съм наистина пропълзяващ в тази област и фреймовете ми се сториха най-рационални. Но съм си купил две книжки за JavaScript и се надявам някой ден да стигна до тях. 

rammstein4o
rammstein4o преди 20 години и 2 месеца
Няма проблем... радвам се че съм бил полезен
GeorgeAtha
GeorgeAtha преди 20 години и 2 месеца
'кво мий кеф да съм само потребител ....
By TeodorGig , 2 March 2006
Съвсем на скоро, в един от български форуми се появи мнение под заглавие: “Сега разбрах за нечитаемия код:))” [1]. Още с първото изречение авторът излага малко шеговито своята теза: “Хватката е, че така се битонираш във фирмата.” Въпреки че това твърдение не звучи сериозно при първото прочитане изглежда в него има определена доза истина.
В своят уеб блог Frank Sommers [2] ни разказва за някои от митовете свързани с качеството на програмния текст при създаването на софтуерни продукти. Позицията му е ясна и точна: Качеството на програмния текст не оказва пряко значение за качеството на крайния продукт. В основата на тази теза е заложено твърдението, че крайният продукт (под формата на изпълним код) преминава една финална технологична преработка, а именно компилация или интерпретация.
Важно е да направим уточнение, че под качество на програмния текст разбираме стила на писане, именоване на отделните елементи в текста и структурирането на кода, а не наличието да дефекти в програмата (бъгове). Базирайки се на това важно уточнение съвсем спокойно можем да кажем, че за крайният потребител и всички останали, с изключение на програмистите подържащи продукта, е напълно без значение по какъв начин е написан кода, стига продуктът който получават да отговаря на изискванията и очакванията им.
В подкрепа на твърдението, че качеството на програмния текст не оказва директно влияние за качеството на крайния продукт, можем да отбележим, че клиентите получават не самият програмен текст, а изпълнимия код. Съвременните среди за разработка многократно оптимизират програмните текстове при превръщането им в изпълним код. Компилаторите и интерпретаторите могат да създадат еднакво добре работещ изпълним код, независимо дали програмният текст е бил с високо качество или не.
Кой всъщност се интересува от качеството на изпълнимия код? Единствените пряко засегнати са самите програмисти. Добре написания код улеснява тяхната работа по поддръжката или разширяването на функционалността в системата. Въпреки това, високото качество на програмния код не води до директно повишаване на печалбата. Често мениджърите, притиснати от стриктните крайни срокове и жестоката конкуренция на пазара, оказват влияние върху програмистите, принуждавайки ги да създадат готов продукт в кратки срокове, пренебрегвайки нуждата от добре написан програмен текст.
От своя страна, маркетингът се интересува единствено от това да разполага с готов продукт, продуктът да бъде на пазара в подходящия момент и по възможност дефектите в продукта да бъдат по-малко или относително незабележими.
До колко програмистите пишат труден за разбиране код, с цел да направят труда си уникален и труден за разбиране от техните колеги, е въпрос на личен морал. Въпреки това, добрите програмисти се стремят да създават лесен за разбиране и поддръжка код, защото това улеснява и собствената им работа.
До каква степен трудния за поддържане код може да запази работата ни зависи единствено от мениджърите на средно и висше ниво, които би трябвало да се предпазват от създаването на “незаменими” служители, носещи повече усложнения за целите на организацията, отколкото ползи.
Тодор Балабанов - teodorgig@mail.ru

Информационни източници:
1. “Сега разбрах за нечитаемия код:))”, Dir.bg Клубове
2. Frank Sommers, “The Code Quality Myth”, Artima Developer

 

Legacy hit count
1786
Legacy blog alias
4966
Legacy friendly alias
Високо-качество-на-програмния-код---наистина-ли-се-нуждаем-от-него-
Компютри
Интернет
Линукс
Програмиране
Софтуер
Разработчици

Comments2

rammstein4o
rammstein4o преди 20 години и 2 месеца

За съжаление аз се сблъсках челно със точно този проблем... Преди мен във фирмата в която работя е имало един хубусник който така хубаво е оплел един проект че няма накъде повече...

Наследявал е класове на 5-6 нива само за да получи някъква си там функционалност на най-горното... Хардкод-вал е разни неща от сорта на "Ако id-то на еди кво си е 3 начи правиш еди кво си..."
Познайте ако недай си боже тва нещо престане да е с id = 3 кво става... 

На мен ми трябваше месец и нещо само за да открия някаква, макар и минимална логика в този код. За радост сега вече (около 3 месеца по късно) работя почти без да се замислям със него и кадето имам възможност и време го оправям...

Моето мнение е че лошо написания код  е нож със 2 остриета... наистина при някой фирми може да те "битонира" на работа, но при сериозните фирми в които работят добри програмисти най-много да спечелиш подигравки и уволнение...

Terkoto
Terkoto преди 20 години и 2 месеца
Тази статия е пълна глупост поради следните няколко прости причини: 1) Много фирми пишат код, който смятат да поддържат, използват и (дай боже) продават дълго време след това. 2) В много фирми (в чужбина, не у нас) има стриктни ограничения върху времето, което един програмист може да прекара на дадена позиция във фирмата. След това или го повишават, или му прекратяват договора. 3) От (1) и (2) следва, че кодът ще се поддържа от много програмисти в течение на времето, и не всички от тях ще са достатъчно опитни. 4) Изискванията за стил на кода, периодичните прегледи на кода (code review-та), QA контролът и т.н. не са измислица на синдикатите за откриване на повече работни места, а точно добре обмислена методика за справяне с проблемът, който може да се появи в (3), ако някой пише спагети код или нечетими и некоментирани шифрограми. 5) В много случаи правилата за писане на код спестяват и време. Елементарен пример: добра практика е сравняванията в C/C++ да се пишат така, че константните изрази да са от лявата страна на оператора за сравняване ==, а не от дясната. Така се изключва възможността някой да изтърве едното равно и да превърне оператора за сравнение в оператор за присвояване, който (както всички сигурно знаем) връща резултат и напълно безпроблемно може да се ползва в условни конструкции и други места, където се изисква rvalue. Последното често води до труднооткриваеми логически грешки, които за разлика от синтактическите не прекъсват процеса на компилация и могат спокойно да "живеят" в крайния продукт и търпеливо да дочакат момента, в който да съсипят цялата привидно работеща система. 6) Да, наистина за компилаторът "if (a == 5)" и "if (5 == a)" са едно и също (въпреки, че може да генерират малко по-различен асемблерен код в зависимост от оптимизацията), но "if (a = 5)" е напълно валидна (макар и грешна от гледна точка на целта й) C/C++ конструкция, докато "if (5 = a)" е синтактична грешка във всички C-подобни езици. Виж (5) 7) Ако пишеш програма от рода на Notepad наистина няма значние колко четлив ти е кодът. Когато обаче пишеш нещо от рода на MS Office значението е очевидно. Ако набързо напраскаш някакъв "пач", колкото да пробуташ кода на клиента, то след това се почва едно роене на версии: в едната пача превърнат в "хубав" код, но пък допълнен от нови 10 пача; в друга първите 3 пача превърнати в четлив код, но последните 6 пача не; в трета пачовете са пачнати допълнително поради недостиг на време за превръщането им в "хубав" код... 8) Добрите менаджери много добре знаят за (1)-(7) и не позволяват на подчинените им да пишат бози и спагети. Добрите менаджери обаче са твърде малко :(
By rammstein4o , 27 February 2006

Напоследак в web започва да се пълни със сайтове ползващи xml и xsl комбинирани със javascript или някакъв serverside език...

Много хора смятат че в това е бъдещето, и сигурно са прави...

Да започнем от там какво е това xml...

EXtensible Markup Language е език съсдаден да описва информацията и да я доставя до потребителя структурирана като се фокусира изцяло в/у съдържанието,а не върху външния вид... Таговете в xml не са предефинирани... това означава че всеки developer може да използва свои тагове като се придържа към някакви собствени правила. Таговете в xml са case-sensitive и трябва да са вградени правилно един в друг (‹b›‹i›This text is bold and italic‹/b›‹/i› - невалиден xml). Всички елементи на xml трябва да са посравени вътре във един root елемент (подобно на тага body във html). Всики елементи в xml трябва да имат отварящ и затварящ таг. Имената на елементите в xml могат да съдържат букви, цифри и други символи, но не могат да започват със цифра, пунктуационен знак или съчетанието "xml" (Xml, XML и т.н). Всички елементи в xml могат да имат атрибути...

Атрибутите в xml предоставят допълнителна информация за дадения елемент. Те винаги са оградени в кавички, като е възможно използването и на единични и на двойни кавички. Атрибутите могат да се използват вместо child елементи, но не е препоръчително.

Като цяло най доброто описание на xml е: Софтуерно и хардуерно независим инструмент за обмен на информация.

Какво е предимството да използваш xml?
1. Промяната на информацията и промяната на изгледа не са пряко свързани.
2. Позволява на потребителите да ползват предоставената от вас информация не само чрез браузър но и с различни софтуерни приложения (например приложения които изговарят информацията за да е достъпна тя и за слепи хора)
3. Тъй като wap е произлезнал от xml вашите сайтове могат да станат достъпни и през мобилни телефони

Какви са недостатъците?
1. Тъй като таговете не са предефинирани различните приложения могат да се объркат и да не предадът информацията коректно
2. Когато във xml документа има грешка (например липсващ затварящ таг) това предизвиква спиране на програмата (браузъра)

Показване на xml чрез eXtensible Stylesheet Language

Xsl е предпочитаният език за дефиниране на стилове за xml. Тъй като таговете в xml не са предефинирани (‹table› може да е обикновенна таблица, но може и да е мебел) xsl се използва за да "опише" на браузъра за какъв елемент става въпрос и как трябва да бъде показан той.

По надолу ще става въпрос за xslt - под ниво на xsl което се използва за трансформиране на xml в html още преди браузъра да го е показал.

Декларирането на стил става със тага ‹xsl:stylesheet› или ‹xsl:transform› (таговете са синоними така че може да се използва който и да е от тях).

Следващият важен елемент на един xsl документ е ‹xsl:template›. Той се използва за дефиниране на темплейт за дадени елементи на xml-а. За да се покаже кой темплейт на кой елемент отговаря се използва атрибута "match" (Например: ‹xsl:template match="/"› дефинира темплейт за целия документ)

За да се вземе стойност от xml документа и да се постави във резултата от трансформацията се използва елемента ‹xsl:value-of›. За да покажете на value-of коя точно стойност да вземе от xml използвайте атрибут "select". Особенното при този атрибут е че той дефинира път подобен на път от файловата система (Например при ‹xsl:value-of select="catalog/cd/title" /› се има предвид във root тага catalog да се намери под-тага cd и под-под-тага title)

Прости цикли от типа "за всеки (foreach)" се реализират със тага ‹xsl:for-each›. Вътре в тези цикли може резултатите да се филтрират също със атрибута "select". Например когато имаме xml документ описващ каталог със CD дискове на различни изпълнители ние можем да покажем всички дискове на Металика със следният код:

  ‹xsl:for-each select="catalog/cd[artist='Metallica']"›
   ‹tr›
      ‹td›‹xsl:value-of select="title"/›‹/td›
      ‹td›‹xsl:value-of select="artist"/›‹/td›
   ‹/tr›
   ‹/xsl:for-each›

За сортиране по дадена колона (например по изпълнител) можем да използваме ‹xsl:sort select="artist"›

За прилагане на условия може да се използват ‹xsl:if› и ‹xsl:choose›... ‹xsl:choose› е синоним на case тага във други програмни езици...
Примери: (оточнявам че по долу няма грешка... за сравнение се използва кода на по-голямо и по-малко... в случая вместо › е &gt;)

‹xsl:if test="price &gt; 10"›
   ‹tr›
      ‹td›‹xsl:value-of select="title"/›‹/td›
      ‹td›‹xsl:value-of select="artist"/›‹/td›
   ‹/tr›
‹/xsl:if›

или

‹xsl:choose›
‹xsl:when test="price &gt; 10"›
   ‹tr style="background: #FF0000;"›
      ‹td›‹xsl:value-of select="title"/›‹/td›
      ‹td›‹xsl:value-of select="artist"/›‹/td›
   ‹/tr›
‹/xsl:when›
‹xsl:otherwise›
   ‹tr›
      ‹td›‹xsl:value-of select="title"/›‹/td›
      ‹td›‹xsl:value-of select="artist"/›‹/td›
   ‹/tr›
‹/xsl:otherwise›
‹/xsl:choose›

Ако искаме да извикаме темплейт от друг темплейт се използва ‹xsl:apply-templates select="името на темплейта който викаме"›. Пример:

‹xsl:template match="cd"›
  ‹p›
      ‹xsl:apply-templates select="title"/›
      ‹xsl:apply-templates select="artist"/›
  ‹/p›
‹/xsl:template›

‹xsl:template match="title"›
    Title: ‹span style="color:#ff0000"› ‹xsl:value-of select="."/›‹/span› ‹br /›
‹/xsl:template›

‹xsl:template match="artist"›
    Artist: ‹span style="color:#00ff00"› ‹xsl:value-of select="."/›‹/span› ‹br /›
‹/xsl:template›

 

Ако има неточности ми сигнализирайте... ще ги оправя веднага.

Използвани материали:

http://www.w3schools.com/xml/default.asp
http://www.w3schools.com/xsl/default.asp 

Legacy hit count
1913
Legacy blog alias
4832
Legacy friendly alias
xml---xsl-кратко-упътване
Компютри
Интернет
Програмиране

Comments1

THE_AI
THE_AI преди 20 години и 2 месеца

Какви са недостатъците?
1. Тъй като таговете не са предефинирани различните приложения могат да се объркат и да не предадът информацията коректно
2. Когато във xml документа има грешка (например липсващ затварящ таг) това предизвиква спиране на програмата (браузъра)

 

Само това не го разбрах? Как така като има грешка се предизвиква спиране на програмата - брауъра? Какво се случва като спре браузъра? 

By TeodorGig , 17 February 2006

... трябва да комуникират програмистите в България? 

На вън е приятно слънчев зимен ден. По всичко си личи - зимата бавно се оттегля, въпреки че ще са нужни поне още два месеца за да се поздравим с действителната пролет. Не зная защо, но денят ми започна доста криво, може би защото некомпетентността на служителите в отдел “Личен състав”, в организацията където работя, успя да ми създаде твърде неприятни емоции.
 
Очевидно не бе ден за работа, а от горе на всички и петък. Замислих се, заслужава ли си да работя точно за тези хора и то точно за тези малки суми? От мисъл на мисъл и от идея на идея, отново стигнах до бързо преглеждане на обявите в не без известния портал JOBS BG. Прелиствам аз страниците с обявите и чета, но в един момент се улавям, че чета само на английски. Казвам си: Боже, аз в България ли се намира или в Обединеното Кралство, може би САЩ, Канада или Австралия?
 
От много време не ми прави впечатление дали пред очите ми стои текст написан на английски или на български. Дори когато се замисля, ежедневно изчитам три пъти повече чуждоезични текстове, отколкото текстове написани на български.
 
Въпреки всички това, редно ли е обявите за работа в България да бъдат написани на английски? За какво братята Кирил и Методий отдадоха живота си за запазването на българската самоидентичност, под заплахата от византийско интелектуално владичество, след като векове по-късно родният ни език се измества от английския, под влиянието на фирмени мениджъри със съмнителна грамотност.
 
Не рядко ще чуете, същите тези HR мениджъри, да ви заявяват, че ако една обява не можете да си прочетете на английски то не сте за тяхната фирма! Не им се подавайте, това е едно удобно оправдание да ви дискриминират по националност, потъпквайки безогледно най-висшия закон в страната, а именно Конституцията. Ами какво биха казали тези мениджъри, ако им заявим, че ние обявите от английски можем да си ги прочетем, защото всеки грамотен човек, в 21 век, се предполага да владее на добро ниво поне един чужд език, но просто не желаем да четем тези обяви написани на език различен от родния ни?
 
Вярно, езиковите умения на служителите във всяка една фирма са от голямо значение, но за удостоверяването им, всеки от нас е способен да представи дипломата си за завършено образование, в която диплома е вписан хорариумът на изучените часове чужд език. Много от нас желаят да бъдат добри професионалисти и също така си осигуряват сертификати за владеене на чужд език. За какво тогава фирмите в България не ползват родния ни език в обявите за работа?
 
Ако се зачетете из някой от Интернет форумите за програмисти, ще откриете една още по-жестока истина за съответните HR (HR - human resources или на чист български - личен състав) специалисти. Те до толкова не си вършат работата, че гледат от чуждестранни уеб страници и копират обявите почти едно към едно. Срамно е, че не пожелават да си дадат поне малко труд и да преведат на български нещата, които плагиатстват.
 
Споменавайки темата за директно откопираните обяви е хубаво да се замислим, а какво всъщност е казано във всички тези обяви и защо срещаме изявления от вида:
 
http://www.jobs.bg/f98324
 
We offer:
1. Attractive remuneration package;
2. Excellent working conditions;
3. Dynamic and exciting job in a friendly team environment;
4. Corporate training and professional development;
5. Work in a highly qualified team of professionals.
 
Да, може би всичките тези изброени неща са валидни за фирмата, която е съставила текстът на тази обява, но дали те са валидни и за българската фирма, откопирала съдържанието на оригиналната обява?
 
Някога лъгали ли сте шефът си или гаджето си? Наблюдавали ли сте реакцията на този шеф/гадже, когато осъзнаят, че сте ги излъгали? Хареса ли ви тяхната реакция? Мога да си представя какви са отговорите ви на поставените въпроси. Защо тогава всички ние си мълчим, пред подобни обяви и не реагираме адекватно, когато установим, че това което обявата обещава няма нищо общо с реалната ситуация в съответната фирма?
 
Програмисти или не, българският език не е толкова лош, а за добро или лошо все още е единственият официален език на Република България. Нека поне за момента бъдем българи и не забравяме делото на братята Кирил и Методий.
 
Тодор Балабанов
 

Legacy hit count
865
Legacy blog alias
4680
Legacy friendly alias
На-какъв-разговорен-език----
Размисли
Компютри
Интернет
Линукс
Политика
Литература
Програмиране
Нещата от живота
Коментари
Софтуер
Разработчици

Comments