Page 39 of 79
Posted: Thu Nov 20, 2008 5:39 pm
by The Dragon
Според мен невероятната стабилност се дължи на нещо съсвем друго. Ама то ще е рант и много дълъг пост!
Posted: Thu Nov 20, 2008 5:48 pm
by Roamer
Хммм... и все пак поне на мен ще ми е интересно

Сега, не казвам, че C е неоспоримо Правилният език(tm) - има си купчина слабости, ама има много неща, които ми харесват повече, отколкото в повечето други езици, и все още доста неща си пиша на C. А всъщност съм съвсем съгласен с идеята за дисциплината, която програмирането на C налага - или поне изисква. Та ми е интересно ти какво наистина мислиш

Posted: Thu Nov 20, 2008 6:05 pm
by The Dragon
Ами най-общо казано C е прост език. Идва с доста минималистични библиотеки. Под теб е само желязото или апи-тата на операционната система(за тях приемаме че са направени като хората). Колкото и да е странно въпросните subtle бъгове в C са доста по малко отколкото в езиците от по-високо ниво и обикновенно са указател който сочи на майната си. И не използваш 10-на други фреймуърка от трети вендори всеки от които си го взел за около една осма от функциите му и т.н и въобще не знаеш как си взаимодействат едни с други. И подобно на асемблера знаеш точно къде и какво става в програмта. Дисциплината, сам да си ловиш грешките и т.н. са хубави навици които много помагат като минеш нагоре по веригата. Програмите на C работят защото веднъж подкарани и работещи просто няма какво да ги обърка. Т.е. - всички тези плюсове които той ги казва като стил на програмираме са необходими и в C++, но там нещата като стабилност са далеч от чистото C.
Posted: Sat Nov 22, 2008 2:15 am
by Moridin
Статията никак не ми хареса. Извън факта, че е писана от юникс гийк (нищо лично Пенчев

), поантата й тотално ми се изгуби. Цялата статия казва следното: "Абе, C не е ТОЛКОВА лош". Авторът не дава изобщо признак, че е писал сериозно на който и да е от по-модерните езици и тотално пренебрегва техните силни страни, които, по мое лично мнение, прескачат С с доста обиколки. И въпреки няколкото ценни (за неговото лично израстване, но хардли за общото човешко познание) наблюдения, накрая се стига до извода, че в език, известен с отговорността, стоварвана върху програмиста, програмистите повече внимават, докато пишат. Е не думай!
В заключение - да, С ни прави по-добри, по-умни и по-оргаинзирани програмисти, отколкото С# (примерно), но практическата му стойност в човековреме е твърде ниска, а трудностите, с които се сблъскваш, за да реализираш всяка по-модерна концепция в софтуера, те карат да се съсредоточаваш върху езика, вместо върху логиката, което е много грешно.
Posted: Sat Dec 06, 2008 3:05 pm
by Roamer
Драгън, на предишната страница си говорихме за Mono 2.0 в Debian. Е, тия дни се появи малко откъсче в Debian Developer News...
http://lists.debian.org/debian-devel-an ... 00001.html
David Paleino wrote:Mono 2.0 transition in progress
-------------------------------
The Debian Mono team is currently transitioning all CLI apps to Mono 2.0.
We currently have transitioned the whole stack, and are working on
packages. Libraries will come last, so as to reduce any possible
breakage.
For "real-time" (almost) information on our progresses, visit our wiki
page:
http://wiki.debian.org/Teams/DebianMono ... sitionTODO
Posted: Wed Dec 10, 2008 3:44 pm
by The Dragon
Трябва да измисля морфология за една програма с която се занимавам в момента. Някой да има идея откъде да започна? Засега мисля за нещо с речници което да привежда в нормална форма думите, ама ...
Posted: Wed Dec 10, 2008 3:59 pm
by Roamer
Ъъъъъ... я дай малко по-подробно - какво всъщност ти трябва?... Или поне примерче-две, че нещо "да измисля морфология" не го разбрах съвсем. Или може би аз съм глюпав днес, както си личи от следващите редове
С малко ме изпревари - таман се канех да пиша тука, да се "похваля" с преживяване порода "на тъп въпрос - тъп отговор". Значи гледаме на някакъв клиент колко трафик е изял, аз решавам да погледна в базата, в таблицата със статистиките, колко HTTP трафик е изгенерирал суекът - и в пристъп на моментно умопомрачение, ама *остро* умопомрачение, пиша...
Roamer wrote:SELECT SUM(*) FROM statistics WHERE NOT archived AND svc = 'H' AND level > 1;
...без, примерно, да съм казал за кой акаунт или за какъв период от време или дори ПО КОЕ ПОЛЕ ДА СУМИРА!

И тогава PostgreSQL сървърът сви вежди, поклати глава, рече си "ми питаш ме нещо, аз пък ще ти отговоря!"...
Тhe PostgreSQL server, in its infinite wisdom, wrote: sum
-------
65556
(1 row)
В този момент просто избухнах в абсолютно неконтролируем, почти истеричен смях

Че съм чувал стария виц, чувал съм - вицът за Манго, дето си седи на покрива на ЦУМ и си клати краката, и минава Иванчо и се провиква "Мангоооо, колко?" Манго го поглежда и отсича "Четири!" Иванчо, ошашавен, пита "Какво четири?!", а Манго свива рамене и пита "Какво колко?"
...ама не ми се беше случвало наяве

Posted: Wed Dec 10, 2008 4:11 pm
by Moridin
Добро е, но поне да се беше разровил в документацията да видиш как го сметна бе, джанъм

Posted: Wed Dec 10, 2008 4:44 pm
by The Dragon
ами основната идея е че трябва да търся думи в текст, като ако телефон е търсената дума валидни мачове са телефон, телефона, телефонът, телефонен, телефонирам и т.н. (абе всичко без тефлон).
Номера е, че това са валидни думи и ако търся телефонът. Сега както ги виждам нещата - думите и от двете страни трябва да се приведат в нормална форма - т.е. телефон в случая. Не е желателно да използвам regex защото са амиииииии потресаващо бавни като за начало. И се чудя от де да я захапя задачата.
Posted: Wed Dec 10, 2008 5:56 pm
by Roamer
Мдааа, на това ми приличаше и от самото начало. Мфм. Това е област, която и на мен ми е интересна - лошото е, че не ми е била достатъчно интересна, за да ти кажа конкретни неща. Най-многото, което мога да ти кажа в момента, е да видиш дали проектчето bgoffice няма да ти свърши работа...
http://sourceforge.net/projects/bgoffice/
http://sourceforge.net/svn/?group_id=52198
http://bgoffice.svn.sourceforge.net/viewvc/bgoffice/
За съжаление точно в момента не мога дори това да пробвам и да ти кажа дали върши работа, но от едно старичко описание изглежда, че модулът "Граматика" би трябвало да прави нещо много подобно на това, което ти искаш.
Иначе, ако имаш повече време - и ако проектът ти го позволява, разбира се - бих ти препоръчал за неща, свързани с компютърна лингвистика, да се подопиташ до Антон Зиновиев в Лабораторията по матоматическа лингвистика към БАН - човекът е свестен, много разбира от нещата, с които се занимава, обича да помага на хора и еквиваленти (не съм сигурен, че студентите, дето му ходихме на курсовете във ФМИ, се класираме за хора), а освен това е върл Дебианец

Posted: Wed Dec 10, 2008 8:06 pm
by Interpreter
@Dragon, твоят въпрос и мен ме заинтригува

Боя се обаче, че без речник и лематизация няма да минеш - преди време това го направиха с латинския в ILC
http://www.ilc.cnr.it/
За лематизирането - виж този пример:
http://nl.ijs.si/ME/CD/docs/htm-wfls/mtelwf-bg.html
Ако се свържеш с тях, може също да ти свърши работа.
Posted: Thu Dec 11, 2008 11:22 am
by Roamer
А всъщност току-що го пробвах и се оказа, че bgoffice/grammar има доста голяма част от това, което ти трябва

След като го компилираш (cd trunk/grammar && c++ -o test test.cpp) и построиш речниците (cd trunk/bgoffice/bin/grammar/ && ./build_all.sh), програмката за таковане на словоформи всъщност работи много добре - подаваш й на стандартния вход произволна словоформа (която й е в речника) и тя ти казва какво точно е това и всички други форми на основната дума. Само трябва да внимаваш по време на компилацията и построяването на речника да работиш в обкръжение с кодова таблица CP1251

А, да, и ако не си под Linux, а под някоя по-смислена операционна система, да смениш "#!/bin/bash" в началото на трите shell-скрипта с "#!/bin/sh" - всъщност прекрасно си работят с /bin/sh
Оттам нататък си имаш парчета код на C++, които са под GPL v2.0 or any later version - можеш да си ги четеш, да си превеждаш алгоритмите на какъвто език ти харесва, или просто да си ги включиш директно в кода, ако пишеш на C++ и GPLv2+ ти върши работа (за което малко се съмнявам де, ама съм длъжен да пробвам

)
Moridin wrote:Добро е, но поне да се беше разровил в документацията да видиш как го сметна бе, джанъм

Е ти па сега! Естествено, че веднага се гмурнах в докиментацията - знаеш ме какъв съм любопитен

Там не открих много ясно описание на това какво би трябвало да прави "SUM(*)", само че след още един-два опита и изследване установих, че всъщност SUM(*) при PostgreSQL се държи точно като COUNT(*) - и после видях в докиментацията това изречение...
The last form invokes the aggregate once for each input row regardless of null or non-null values; since no particular input value is specified, it is generally only useful for the count(*) aggregate function.
Като "the last form" се отнася за
aggregate_function(*) като цяло, включително и за SUM(*). Та мистерията донякъде се поизясни

Posted: Thu Dec 11, 2008 1:50 pm
by Interpreter
Леко off-topic: Малкият проблем на нашите (иначе добри) програмисти е, че при подобни задачи пренебрегват сътрудничеството с филолози - не знам дали защото е унизително, или просто естественият език е нещо подразбиращо се и много лесно подлежащо на алгоритмизиране
Резултат: интересни речници и още по-интересни "преводачки" ;р
Posted: Thu Dec 11, 2008 3:01 pm
by Roamer
Валери, това с пренебрегването на филолозите не съм сигурен точно на каква база го казваш, защото за две от подобните програми съм сигурен, а за трета имам много сериозни подозрения, че авторите 1. поназнайват малко неща за лингвистика и граматика и 2. работят в доста тясна връзка с филолози. Ако цитираш конкретни примери за подобни програмни продукти, при които не е имало консултация с филолози, това вече ще е друго

Posted: Thu Dec 11, 2008 8:04 pm
by Interpreter
Сакън, не съм казал, че програмистите не разбират от език и грамматика - най-малкото ти и Моридин разбивате с масивен ковашки чук подобно твърдение. Да продължим на qip-a по-добре
