nixp.ru v3.0

28 марта 2024,
четверг,
16:06:56 MSK

Аватар пользователя Дмитрий Шурупов
Дмитрий Шурупов написал 28 сентября 2004 года в 18:25 (749 просмотров) Ведет себя как фрик; открыл 670 тем в форуме, оставил 5727 комментариев на сайте.

Red Hat критикует Sun в их отношении к открытому ПО

В web-сообщении от четверга Michael Tiemann, вице-президент Red Hat по делам open-source, критикует позицию Sun в их отношении к патентам на ПО и решение оставить Java проприетарным программным обеспечением.

«Если вы не открываете исходный код Java, вы не занимаете правильную позицию по отношению к патентам на программное обеспечение, а лишь продолжаете политику, которая выгодна только Microsoft, то почему мы должны проявлять доверие к вашим просьбам?» — обратился Tiemann к президенту Sun (Jonathan Schwartz).

Это стало своеобразным ответом на сентябрьскую публикацию Schwartz’а в своем блоге, обращенную к сообществу OpenOffice.org, где он сообщает следующее: «Мы любим сообщество open-source, мы выросли из него. Мы будем защищать это сообщество, эту инновацию и свое место в нем — от всей души и со всей энергией.»

[источник: http://news.com.com/Red+Hat+exec+takes+Sun+to+task+on+open+source/2100-7344_3-5378197.html?tag=nefd.hed]

Дмитрий Шурупов

Разработчики OpenOffice.org конфликтуют с Sun

Разработчики пакета программ с открытым кодом OpenOffice не должны больше предоставлять коды фирме Sun Microsystems. Об этом заявил исполнительный директор консорциума Desktop Linux Брюс Перенс (Bruce Perens).

Причиной заявления г-на Перенса послужили ставшие известными недавно условия договоренности между Sun и Microsoft, достигнутой в апреле этого года. Согласно данной договоренности две компании не будут продолжать судебные тяжбы, вызванные последними взаимными исками о нарушении авторских прав. Однако Microsoft не распространяет данное соглашение на пользователей OpenOffice. Резкие заявления со стороны консорциума Desktop Linux были вызваны политикой Sun, не защищающей владельцев лицензий на ПО с открытым кодом.

[источник: http://www.cnews.ru/newsline/index.shtml?2004/09/28/165836]

Uncle Theodore

Я всегда считал SUN гниловатой компанией. Посмотреть хоть на этот ублюдочный язык, который они проталкивают, Java называется… И ведь не дают им покоя деньги Майкрософта — они добились того, что во всех университетах Америки (и в тех школах, где серьезно изучают программирование) преподавание начальных курсов ведется на джаве. Когда-то говорили, что Бейсик разрушает мозги молодежи, так вот Джава гноит эти мозги еще сильнее… Спарк был классной вещью, правда… Но эти Стенфордские маменкины сынки (SUN = Stanford University Network, кто не знает) угробили все, до чего их руки смогли дотянуться…

SUN — враг под маской друга! Будь бдителен, товарищ! :-)

Good Luck,

UT

decvar

Солидарен.

btw: а что по твоему мнению лучше подходит для начального побучения программированию?

Genie
btw: а что по твоему мнению лучше подходит для начального побучения программированию?


ничего, если я тут встряну? ;))

для обучения вообще как такового программированию, которое не то, что понимается под 'coding’, а то, которое 'programming’, лучше всего, вроде бы декларативное программирование. когда человек ставится перед задачей «что написать», а не «как написать».

чёткое понимание того, «что должна делать программа» при должной квалификации, опыте, умении автоматически даёт понимание того, «как должна быть написана программа».

а выбор таких языков ооооочень ограничен ;))

Uncle Theodore

Начинать надо с тупого кодирования. Это только кажется, что это придет со временем, НЕ ПРИДЕТ! У меня четверокурсники пишут такой вот код:

for(int jj=0;jj<5;jj++)

{

if(jj == 0 || jj == 2 || jj == 4)

{

if(jj == 0)

{

x = 1;

y = 2;

}

else if(jj == 2)

{

x = 1;

y = 3;

}

else if(jj == 4)

{

x = 1;

y = 4

}

else if(jj == 1 || jj == 3)

{

if(jj == 1)

{

x = 1;

y = 3;

}

}

и так далее… Поэтому!

1. Программировать надо учиться В ТЕКСТОВОМ РЕДАКТОРЕ!! Никаких IDE чтоб близко не было. И компилировать в коммандной строке, со всеми ключами. Можно подсвечивать синтаксис.

2. Язык программирования должен быть ясным и прозрачным, НИКАКИХ НАВОРОТОВ типа заданных заранее конструкций. НИКАКИХ НЕОБЪЯСНЕННЫХ ВЕЩЕЙ, типа

public class Reader

{

public static void main(String [] args)

{

BufferedReader brdr =

new BufferedReader(new InputStreamReader(System.in));

try{

String str = brdr.readLine();

int mint = brdr.readInt();

System.out.println(«you entered «+str);

} catch(IOException e) { }

}

}

Пока студент не сможет объяснить КАЖДУЮ КОМАНДУ в своей программе, смысл каждой декларации и инициализации, он не имеет права сдавать эту программу преподу. Точка.

Выше — пример того, что дается студенту на ВТОРОЙ ЛАБЕ!! Что это все для него? Китайская грамота!! Почему она public, static да еще и void? Кто такой Exception, что значит его catch? Что это за стрим и как это он buffered? Что за String со скобками в аргументе?… Хорошо это, что он new или плохо?

3. В качестве начального языка подойдет подмножество хорошего, простого процедурного языка, даже C/C++, без хитрых структур, стримов и STL. Сначала пишем, бляди, программу решения линейного уравнения. Разбираем ее по косточкам. Что тут делается? Почему так? Как сделать лучше? Потом переходим к квадратному, и та же песня.

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

Ух, злой я сегодня… Такой проект мне студенты сдали — были б они мои работники — поувольнял бы нах!

Good Luck,

UT

Genie
Начинать надо с тупого кодирования. Это только кажется, что это придет со временем, НЕ ПРИДЕТ! У меня четверокурсники пишут такой вот код:

….


что только подтверждает сказанное… » что должна делать программа»….

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


утверждать того, что они не знают что такое «программирование» я бы не стал ;))

они его знают. просто — под другим именем, другой направленности,….

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

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

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

Uncle Theodore
Genie
что только подтверждает сказанное… » что должна делать программа»….

Ни фига. Как раз-таки что этот код делает. А вот КАК он это делает, у меня волосы дыбом встают. Надо учить алгоритмам, не формально причем, а конкретно. Четыре машины на дороге, попарно нос к носу. Есть место для одной машины на обочине. Разруливай. И имей в виду, если у тебя машина боком будет ехать, шофер тебя пристрелит.

А что в Джаве? Объектно-ориентированное программирование, детки, это — ах! Есть такой объект, tree называется… Нет, лазить на него не надо… Надо кликнуть на это и вот это. Теперь определить такую вещь… погодите, забыл, а, вот: SuperPuperStreamedBufferedStringYoyoAbraCadabra, у него восемь полей и три метода… Он extends SuperPuper и throws все на свете… Че непонятно-то? А, это я и сам не знаю, не важно…

утверждать того, что они не знают что такое «программирование» я бы не стал ;))

они его знают. просто — под другим именем, другой направленности,….

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

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

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

Возможно, мы разные вещи понимаем под «как». Для меня «как» — это алгоритм, реализованный в языке.

Good Luck,

UT

Genie

погоди. я не зря отдельно выделил coding и programming. :))

за алгоритмитизацию отвечает как раз programming. «что должна делать программа»

за реализацию в языке — coding. «как должна быть написана»

эту разницу лично я осознал только после того, как от процедурных языков (pascal, c, forth [хотя назвать его чисто процедурным язык туго поворачивается]) полностью переключился (причём резко, интересы были в то время такие) на Пролог…

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

ps: нет, я не призываю пользоваться прологом ;))

но знать оба этих пути нужно. тогда и понимание будет.

pps: а понимание «как» у нас-таки одинаковое. вот только контекст рассмотрения у каждого свой. мой — вот акой, вышеописанный ;))

decvar

А можно я тоже, можно, а?

Про себя:

Меня начали учить алгоритмам, с начала, это было на 1-2 курсе т.е. преподу было насрать как это работает. Он прогонял тесты, канает — молодец. Потом, с 3его курса стали драть по коду, т.е. в большенстве случаев сначала смотрят код, и если там

if(…)

else if(…)

else…

….

смело посылают в жопу. ИМХО это правильно. Например сдавал я диспечер процессов вытесняющая многозадачность, защищеный режим, переключение контекста, вообщем звиздец. И оно таки заработало. Хотя сдал я, потому что обьяснил что я хочу, и как я хочу, т.е. идею.

vnp
decvar
А можно я тоже, можно, а?

Ох, скоро во flame попадем…

Про себя:

Меня начали учить алгоритмам, с начала, это было на 1-2 курсе т.е. преподу было насрать как это работает. Он прогонял тесты, канает — молодец. Потом, с 3его курса стали драть по коду, т.е. в большенстве случаев сначала смотрят код, и если там

if(…)

else if(…)

else…

….

смело посылают в жопу. ИМХО это правильно.

Не понял… а что в этом плохого?

Что касается алгоритмов, то нас этому учили в отдельном курсе, без *программирования* вообще (т.е. вычислительная сложность, P/NP и тому подобные красоты). ИМХО это правильно :)

А на программировании учили выражать свои мысли средствами языка. Что тоже правильно; еще Дийкстра заметил, что программирование скорее литература, чем математика.

decvar
for(int jj=0;jj<5;jj++)

{

if(jj == 0 || jj == 2 || jj == 4)

{

if(jj == 0)

{

x = 1;

y = 2;

}

else if(jj == 2)

{

x = 1;

y = 3;

}

else if(jj == 4)

{

x = 1;

y = 4

}

else if(jj == 1 || jj == 3)

{

if(jj == 1)

{

x = 1;

y = 3;

}

}

и

Не понял… а что в этом плохого?

два ответа:

1. man switch

2. выяснить сколько места в памяти занимает конструкция их десяти if и switch на 10 case-ов.

vnp
decvar
и

два ответа:

1. man switch

2. выяснить сколько места в памяти занимает конструкция их десяти if и switch на 10 case-ов.

Речь, вообще-то шла о

if(…)

else if(…)

else…

Если вы имели в виду пример UT, то, пардон, не догадался. А касательно switch, ну, оно конечно… Кстати, что будет с памятью, если case-ы не плотно лежат?

decvar

это будет:

AND [mem16], [im16]
JNZ 
...
...

я уверен, что ни один транслятор не сделает из этого

это-то вроде JMP FAR PRT или даже NEAR. Из сегмента не выйдет. вот в самом case #x ptr name могут быть и CALL и JMP.

Uncle Theodore

Не, мужики, вы не поняли. Здесь дело не в case, хер с ним с case, тут дело значительно печальнее. Смотрите еще раз:

for(int k=0;k<5;k++)

if(k == 0 || k == 2 || k == 4) //если k равняется нулю, 2 или 4, тогда

{

if(k == 0) {/*..*/}

else if(k == 2){/*..*/}

else if(k == 4){/*..*/}

}

else if(k == 1 || k == 3)

{

if(k == 1){/*..*/}

else if(k == 3) {/*..*/}

}

Какой смысл в первом if’е ВООБЩЕ? А тут:

else if(k == 1 || k == 3)

зачем if?

У мужика было 3 страницы подобных конструкций, т.е. это не «опечатка», это — стиль мышления!

Good Luck,

UT

vnp
Uncle Theodore
Не, мужики, вы не поняли. Здесь дело не в case, хер с ним с case, тут дело значительно печальнее.

Согласен. Не поняли. Если честно, то даже не пытались (я, во всяком случае). Такой код не требует понимания, т.к. не имеет права на существование.

У мужика было 3 страницы подобных конструкций, т.е. это не «опечатка», это — стиль мышления!

Good Luck,

UT

Что я и пытался сказать.

выражать свои мысли средствами языка


Стиль мышления кровавыми мозолями не исправишь. А чем исправлять — не знаю. Заставлять первый драфт писать по-русски, что-ли?

Uncle Theodore
vnp
Заставлять первый драфт писать по-русски, что-ли?

Хорошая идея для американского университета… Надо, однако. попробовать… :-)

Good Luck,

UT

Опять я не понимаю суть наездов на java. Кто-то хочет сказать, что java сложнее c++? Бред. Java — отличный корпоративный язык программирования, а писать дерьмо студенты будут на любом языке, а не только на яве. И дело тут в том, что дано программировать не всем, да и не все это хотят. А объяснять ленность недостатками языка мягко говоря неправильно. То, что java держит в руках sun, а не всякая пионерия, обосновано тем, что java — это не только язык, но и обширнейшая библиотека классов. В ней действительно реализованы принципы повторного использования кода и абстракций. Товарищу Uncle Theodore я бы посоветовал почитать книжку Design Patterns и вообще всякую теорию об объектной ориентированности. Еще одно замечание: кто сказал, что на java можно писать только в ide? И еще одно пожелание товарищу Uncle Theodore: надо смотреть на это с точки зрения студента, которому посрать на все это программирование и на то, что ему преподается. Тут все объясняется, повторюсь, не языком программирования а банальным расп@издяйством, которого, увы, везде хватает.

Uncle Theodore

Товарищ Uncle Theodore может сам написать книжку по объектной ориентированности. И это не изменит мнения товарища Uncle Theodore о том, что студенту-программисту следует узнавать об объектной ориентированности только после того, как студент получил хорошую практику программирования процедурного и освоил хороший стиль имплементации простых алгоритмов. Личное мнение товарища Uncle Theodore заключается еще и в том, что он считает всю объектно-ориентированную шумиху фуфлом, но своего мнения на этот счет он никому не навязывает.

Далее просвещая невнимательного товарища cebka, товарищ Uncle Theodore хотел бы заметить, что его претензии к компании SUN выражались в неодобрении навязывания этой компанией языка Java в качестве основного языка для преподавания программирования. См разъяснения выше. Если товарищу cebka интересно, почему товарищ Uncle Theodore не любит язык java, то это происходит из-за того, что программы на java медленные, жрут слишком много ресурсов, сам язык неудобен для работы по причине необходимости постоянного поиска нужных вещей в «обширнейшей библиотеке» и трудностей отладки.

Не будет ли товарищ cebka, кроме того, любезен показать, где товарищ Uncle Theodore утверждал, что на джаве можно программировать только в IDE?

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

Кроме того. Разумеется, java, будучи сушеным C++’ом, не сложнее последнего. Она просто значительно менее удобна. А для преподавания — не подходит вообще.

В завершение, товарищу cebka товарищ Uncle Theodore посоветовал бы, в свою очередь, следить иногда за своим тоном, и поменьше рассказывать незнакомым людям, с какой точки зрения на что им надо смотреть. Точка зрения самого товарища cebka тоже не вычерчена огненным пальцем Иеговы на каменной таблице, и обмен мнениями в цивилизованной компании не предполагает тыкания собеседника носом в свою точку зрения как единственно верную.

Good Luck,

UT

pol

партия забивших на всё студентов поддрживает дядю из америки.

Тема всё же была об отношении Sun к open-source, а не открытию кода java или достоинствам и недостатка этого языка .

Java подходит не в качестве первого языка программирования, как не подходит и C++, хотя преподавать можно по-разному. Тормознутость и жручесть явы — неизбежное следствие того, что она работает в виде виртуальной машины, а си — в режиме машинных кодов, как это известно. Кроме того, есть еще такое понятие, как сопровождаемость и повторное использование кода, для чего и было создано объектно-ориентированная «шумиха». А еще есть такое понятие, как корпоративность, когда софт пишется не на коленке, а группой профессионалов. Вот тогда объектное программирование удобнее и правильнее. Поясняю свою резкость: мне очень не нравится, когда необоснованно засирают хорошие идеи. Про студентов: те отдельные личности, что увлекаются программированием хорошо понимают все концепции, а потом выбирают то, что им ближе, вот и все. Главное — как работают мозги, а задача же того, кто обучает — привить стиль, вот это встречается редко. Очень советую на этот счет посмотреть книжку: http://mitpress.mit.edu/sicp/full-text/book/book.html , которую я считаю образцом книги, обучающей программированию. Которая не зависит от языка, которая передает концепцию. Еще раз извиняюсь за некоторую резкость.

Последние комментарии

ecobeingecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.