Скрипт для переименования файлов в винде [ЗАКРЫТО]
total commander умеет
notepad.exe
С помощью /bin/sh и базовых утилит.
где это ты в винде увидел /bin/sh ?
Но вроде там нет возможности получить имя директории
ты бы уж тогда сразу виртуальную машину предложил установить, вместе unix-системой
TotalCommander действительно умеет
А вот если в винде шагу нельзя ступить без обеспечения сторонних
производителей, то это показатель.
---
Q21: Что такое Win2k?
A21: состема.
ты бы уж тогда сразу виртуальную машину предложил установить, вместе unix-системойНе надо утрировать. Как раз для вот таких задач как эта cygwin - самое оно.
Тут еще Perl (ActivePerl) никто не предлагал?
такой примитивный скрипт пишется за пару минут...
Тут недавно решили вдруг ни с того ни с сего провести
антивирусную проверку на виндовой станции.
DrWeb откопал в завалах диска и разгзипал тару,
где были сложены мои батники времён жизни на МС ДОС 7.
Ну, поругался на "Probably .BAT virus"-ы.
Мы порадовались.
---
...Я работаю антинаучным аферистом...
МС ДОС 7MS-DOS окончил свое существование на версии 6.22, как я помню.
А вот дос, который "идёт" с Win 98 - это и есть 7й
7.10 вроде
А вот если в винде шагу нельзя ступить без обеспечения сторонних
производителей, то это показатель.
WSH микрософтовский.
Писать можно на JScript или VBScript. Стандартные классы разрюхиваются при помощи мсдна за полчаса.
Можно писать всё на входном языке отладчика DEBUG.
И такое делал. Было дело.
---
Q21: что такое Win2k?
A21: состема.
Мб темой ошибся?
JScript - прекрасный язык!
Это, скорее, к перлам.
Там поди, ещё и вызывать какую-то оболочку надо, не так ли?
С помощью find, sed/awk, xargs и sh можно творить чудеса.
Язык программирования общего назначения, тем более алголоид,
плохо подходит в качестве скриптового.
---
...Я работаю антинаучным аферистом...
Ты вообще о чем? Зачем ты постишь на форум результат своего общения с призраком КуБейсика в своей голове? Если ты не знаешь что такое WSH - лучше промолчи.
Микрософт опоздал.
Да и по опыту общения с его продукцией, вряд ли стоит ожидать
чего-либо достаточно проработанного.
Хотя если скажешь, где лежит интерпретатор, тогда посмотрю,
что он может предложить хорошего.
Наверняка ничего отличающегося от ранее виденного.
---
...Я работаю...
хм.
Javascript в винде есть, наверное, уже лет 10.
Ты различаешь языки общего назначения и скриптовые, то есть те,
которые предназначены для взаимодействия оператора с машиной?
---
...Я работаю антинаучным аферистом...
почему javascript - это не скрипт, в твоем понимании?
почему javascript - это не скрипт, в твоем понимании?
Он не знает что такое жаваскрипт, забей.
интерпретатор и там набрал что-то навроде:
for i in чего-то; do это; самое; done
Интерактивности нет.
Оно ведь потребует какие-то классы объявлять или составлять ещё
какие-нибудь выражения с полной квалификацией. Так?
---
...Я работаю антинаучным афреистом...
Жаваскрипт неинтерактивен, да.
Зато я вот тут только что набрал в cmd строчку for /? и немножко прихуел. cmd интерактивен.
FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do @echo %i %j %k
would parse each line in myfile.txt, ignoring lines that begin with
a semicolon, passing the 2nd and 3rd token from each line to the for
body, with tokens delimited by commas and/or spaces.
=)
Я что, по-твоему, на каждый чих должен буду писать новую
программу, собирать её и так далее?
Да, они там много чего понаприкручивали в W2k.
Хотя и это их не спасает.
---
Q21: что такое Win2k?
A21: состема.
P. S. На awk-е это же самое выглядит значительно проще:
awk -F '[, ]+' '/^[^;]/ {print $2,$3}' your-file.txt
При том, что соблюдается однородность синтаксиса
регулярных выражений и доступа через конвейер.
Это в каком именно шеле так выглядит?
awk -F '[, ]+' '/^[^;]/ {print $2,$3}' your-file.txt
>программу, собирать её и так далее?
Чего-чего ты со скриптом делать собираешься? =)
>P. S. На awk-е это же самое выглядит значительно проще
ИМХО одинаково выглядит. Ну то есть регекспы по определению не могут выглядеть просто, но хуй с ними. А ваще я это чисто в качестве примера привел, что цмд в новых виндах крайне наворочен, но об этом мало кто знает. Один знакомый совсем недавно весьма охуел, когда я ему сказал что еще досовский комманд.ком держал пайпы и условное выполнение (которое &&) - то есть тот самый конвеер в полном объеме.
Я знаю. Вам кто-то в детстве сказал, что в винде "интуитивно понятный интерфейс". А что кроме этого интуитивно понятного интерфейса, позволяющего одним дабл-кликом перейти в подпапочку, есть еще и чудовищное количество разных всяких штук вам сказать забыли.
Поэтому вы очень удивляетесь, что чтобы "сделать вот так, вот так, а потом вот так вот с этим" надо написать скрипт.
---
...Я работаю антинаучным аферистом...
В каком именно ДОС ты видел && или что ты подразумеваешь?
ERRORLEVEL не в счёт.
Тоже больно хреновый.
Я не утверждаю, что в ДОС нельзя было сделать чего-то подобного.
Вот только какими это достигалось усилиями, хорошо можно видеть
на примере сообщений ДрВеба, принявшего не самые сложные батники
за вирусы.
Заметь, что разрыв между "интуитивно понятным" интерфейсом и
тем, который допускает автоматизацию, такая, что они по сути
полностью разделены. Между ними очень резкий переход.
И это не самым лучшим способом сказывается на автоматизации в целом.
---
Q21: что такое Win2k?
A21: состема.
Интуитивно понятный интерфейс может быть у проги для ведения календарика месячных. При попытке поднять что-нибудь более сложное интуитивный интерфейс накрывается песдой. Поэтому употреблять словосочетание "интуитивный интерфейс" по отношению к винде в целом вообще не вполне корректно - ее интерфейс интуитивен настолько, насколько это возможно, а переименовывать файлы толпами по каким-то правилам _интуитивно_ невозможно в принципе. Так что давай не будем про интуитивный интерфейс, ладно?
Сообщения ДрВеба не имеют никакого отношения к батникам, точно тебе говорю. То что разработчики ДрВеба любой мало-мальски сложный батник считали возможным вирём - это их личная паранойя.
Опять повторюсь: достаточная интуитивность интерфейса винды, ворда етс. приводит к тому, что многие люди просто не знают, что помимо тыканий мышой со всем этим софтом можно общаться еще как-то. Можно.
Да, когда-то давно я видел довольно пёздый текстик на тему различия виндовс-вэй и юникс-вэй, в котором не без оснований заявлялось, что адепт юникс-вэя напишет консольную прогу а потом к ней графический интерфейс (может быть а сторонник виндовс-вэй напишет графический интерфейс, а потом прикрутит скриптовый язык и комманд-лайн интерфейс (может быть).
Сейчас ситуация с виндовс-вэем, насколько я могу судить, немножко меняется. И тот взгляд на виндовс-вэй немножко совершенно устарел. Причем уже довольно давно. Сейчас модно наваять библиотечку с каким-нить йебанутым доступом при помощи КОМ, а потом к ней интерфейс, а особенно модно - веб интерфейс =).
Так вот, в результате в мане по тому же WSH приводится пример, когда из скрипта вызывается "кусочек ворда", который делает какую-то херню типа спеллчека для куска текста. Вот такое очень сложно сделать в юниховой парадигме взаимодействия через коммандлайн. То есть не то чтобы очень сложно, но выглядеть это будет как-то искуственно. Поэтому, наверное, в современном виндовс-вэе присутствует некоторая объектная ориентированность, которая не может гармонично выглядеть записанной в одну строчку. Поэтому для WSH нету интерактивного интерпретатора. Поэтому в некотором смысле WSH еще менее интуитивный чем командная строка - зато в результате это практически полноценный ОО язык. Точнее, рантайм для жава- и вб-скриптов.
Вот такое очень сложно сделать в юниховой парадигме взаимодействия через коммандлайн. То есть не то чтобы очень сложно, но выглядеть это будет как-то искуственно.А такое и не нужно будет делать. Адепт юникс-вэй запустит ispell и не будет париться...
Наверное даже где-то есть написанная херня, которая позволяет таки интерактивно общацца с WSH. А мб и нет, никогда не интересовался.
запускать ispell не всегда хорошо:
например, если редактируется документ для TeX, то нужно при проверке пропускать управляющие команды, и игрорировать мягкие переносы
если редактируется XML-документ, то нужно проверять только PCDATA или как там оно называется
ispell всего этого не умеет, и засовывать внутрь него соотв. функциональность - не unix way
хотелось бы посмотреть, как в microsoft way используют вордовый спеллчекер для подобных задач
есть ли примеры кода?
Сложно сказать.
Я считаю, что язык ipfw понятен без особого упора на чтение описания.
В отличие от языка iptables. Для сравнения.
Я не знаю, чего очень сложного в связке pipe-fork-exec.
Тем более, что есть уже наполовину готовый popen.
Кроме того, ведь пускает Емакс каким-то образом процессы в
отдельном буфере? Псевдотерминалы, скорее всего, открывает.
Так что я бы не сказал, что это особо сложная задача.
---
...Я работаю антинаучным аферистом...
будет что-то такое:
foreach (XmlNode node in doc.Select("//text"
{
spellChecker.Check(node.InnerText);
}
Если нужна интерактивщина, то что-то такое:
List<string> errors = new List<string>
foreach (XmlNode node in doc.Select("//text")
{
errors.AddRange(spellChecker.Check(node.InnerText;
}
listBox.DataSource = errors;
var Word, Doc, Uncorrected, Corrected;
var wdDialogToolsSpellingAndGrammar = 828;
var wdDoNotSaveChanges = 0;
Uncorrected = "Helllo world!";
Word = new ActiveXObject("Word.Application");
Doc = Word.Documents.Add;
Word.Selection.Text = Uncorrected;
Word.Dialogs(wdDialogToolsSpellingAndGrammar).Show;
if (Word.Selection.Text.length != 1)
Corrected = Word.Selection.Text;
else
Corrected = Uncorrected;
Doc.Close(wdDoNotSaveChanges);
Word.Quit;
Вот.
Честно говоря я не особо рюхаю что там глубже происходит. Ну то есть сам никогда приложения экспортящие активХ функциональность не писал. Но по-моему это круто. В смысле, что если вышеприведенный код засунуть в файлик myscript.js и даблкликнуть, то все заработает.
У меня, правда, почему-то не работает. Диалог не показывается.
А! У меня просто спеллчекера в ворде нету =)
Такой тупой чекер незачем и обсуждать, тут специфика Пути не проявляется.
Вопросы такие:
Воспримет ли <link target="some shit">вордовый грамматический анализатор</link> вот это предложение, которое есть well-formed XML, <strong>как единое целое,</strong> например. Ну то есть, PCDATA - это же дырявый текст.
Вернёт ли результат в такой форме, чтобы XML-редактор понял, какую часть текста нужно подсветить для пользователя?
Есть ли рабочие примеры кода? Или это только теоретически можно заюзать вордовую проверялку для чего-то сложнее plain text?
Согласись, что обращение к функциям (как в примере выше причем даже не просто обращение к функциям, а полноценная ООП модель с точки зрения программера все-таки удобнее чем общение через текстовую консоль. Правда, за нее приходится платить отсутствием интерактивности. И то - хз. Приблуду для запуска ЖСкрипта в интеракивном режиме, я думаю, не очень долго писать, и она, возможно, есть.
А я хочу дырявый текст, как XML или TeX-исходник.
Общение через консоль легко подводится под обычные и привычные
потоки данных. Пропихнул текст через *spell --- и делов.
Попутно сократив путь некоторой части данных, которые не должны
обрабатываться внешней примочкой.
---
...Я работаю антинаучным аферистом...
потоки данных
если все-так хорошо с консолью, то почему постоянно идут треды про то, что в разных окружения скрипты работают по разному, про проблемы с кодировкой, про то, что если в пути будут пробелы, то ничего работать не будет и т.д.
ps
да, кстати, как через консоль одновременно пропихнуть текст, который содержит отрыки на русском, немецком, арабском и т.д.?
или unix-way приложения уже научились unicode поддерживать?
Нужные --- уже.
---
...Я работаю антинаучным аферистом...
Общение через консоль легко подводится под обычные и привычные потоки данныхВидишь ли, "обычные потоки данных" иногда содержат разные интересные символы. Например, данные могут быть вообще бинарными, тогда придется с ними какой-нибудь ууенкод делать туда и обратно, причем два раза. Или они, например, будут содержать какой-нить условно-служебный символ типа кавычки, бэкслеша или процента. Очень большой простор для ошибок - не, я конечно помню, что настоящие программисты типа тебя ошибок вообще не делают, но блин. Передача плейн-текста мне как-то совершенно не нравится. Я сам и куча знакомых наступали на прекрасные грабли под названием "стандартный сишный препроцессор вывода в текстовый файл", который со _всеми_ символами работает нормально - кроме \n. То есть под виндой \n превращается в \r\n, а под никсом - наоборот (насколько я помню).
Еще очень забавная вещь под виндами (как под юнихами дело обстоит не в курсе) - формат чисел с плавающей точкой. Когда эта точка иногда оказывается на самом деле запятой.
Короче, если есть за тебя написанный работающий способ передать куда-нибудь массив флоатов, это очень приятно и позволяет избежать ненужного геморроя.
А вообще подобная система позволяет спокойно и без лишних изъебств организовывать _интеракивное_ взаимодействие со сторонним объектом.
Спеллчек - это хуйня. Вот представь что у тебя есть прога, предоставляющая типа как бы шелл на некоем устройстве. Чужая прога. В парадигме потоковой передачи данных тебе придется использовать некий протокол, который будет достаточно сложным - потому что нужно передавать команды, получать результаты, правильно сопоставлять результат с командой для которой этот результат, каким-то образом перехуячивать передаваемые данные так чтобы они не перепутались с командами, корректно обрабатывать ошибки передачи... И в результате получится что ты организовал RPC поверх потоков. А тут это уже сделано.
Это я к тому, что "обычных и привычных потоков данных" есть обычные и привычные вызовы функций, которые гораздо мощнее - в том смысле, что если ты попробуешь реализовать интеракивное взаимодействие с чем-нибудь, у тебя на самом деле получатся эти самые вызовы функций, реализованные при помощи потоков данных.
Но с тем, что спеллчекер - хуйня, не соглашусь, пока не увижу код.
ERRORLEVEL не в счёт.Никсы, по-моему, от этого тоже никуда укатиться не смогли. Даже стандарта не разработали на exit(Ы).
Тоже больно хреновый.
Ты хочешь увидеть функцию, которая разбивает хтмлку на фрагменты вида "плейн-текст" "всё остальное", после чего склеивает куски плейн-текста, передает их вордовому спеллчекеру, получает обратно, распихивает обратно по местам? Хз, наверное можно написать. По крайней мере если не склеивать куски а спеллчекать прямо кусками - точно можно. Еще может быть вордовый спеллчекер поддерживает какое-нибудь внутреннее форматирование. Не знаю. Мне лично совершенно не хочется с ним разбираться.
Я, собственно, пример со спеллчеком привел с единственной целью - продемонстрировать как легко и непринужденно мы получаем чужой объект Document, а потом с ним опять же легко и непринужденно работаем.
В ворде же уже есть подчёркивание неправильных слов и предложений, прям в редактируемом тексте,
и окошки с выбором вариантов, и предложения добавить в словарь.
Вот если бы всем этим воспользоваться, я бы проникся. А если самому это делать заново, то нахуй.
Но что такого чудесного получается в результате?
Я рискну выдвинуть такую теорию:
Все эти шняги - результат хитрой политики Microsoft.
Они берут какие-то свои внутренние библиотечки, используемые для интеграции Офиса,
и начинают рекламировать их как The Next Big Thing (tm).
В результате все остальные фирмы начинают это изучать по той части внутренней документации,
которая выложена. На это уходят силы опытных специалистов, в то время как в Microsoft продолжают инновации.
Поэтому они впереди, остальные сосут.
Но есть способ выбраться из западни - отбросить Microsoft Way, использовать открытый процесс.
Приведенный пример рисует стандартное вордовое окошко с подчеркнутыми неправильными словами, предложениями добавить слова в словарь етс. Если ты его запустишь, то сам увидишь. Я вот щаз поставил себе в ворде спеллчекер и увидел. Передавать туда внутрь можно абсолютно любой текст.
ЗЫ: Вот жёппой чую, что всякие разные макстоны и прочие веббраузеры-юзающие-движок-ИЕ используют этот самый движок ИЕ именно таким способом. Вот. Это я к тому, что возможности извратнуться над чужим компонентом очень широки.
COM, OLE - это красиво (хотя бы взять моникеры если еще учесть что этим технологиям лет 15. Мне вообще майкрософт нравиться тем, что не сидят на старых технологиях, а создают новые, которые решают определенные проблемы на качественно новом уровне. А то сидят некоторые на своем перенаправлении потоков ввода-вывода несколько десятков лет и думают, что ничего круче быть не может.
Вот если бы был редактор, заточенный под XML или под TeX, с соответствующим набором фичей _и_ вордовым чекером в том же окошке.
Ну например, какой ценой можно привязать вордовый чекер к vim? Что-то вроде COM или OLE (фиг запомнишь отличия между
этими аббревиатурами!) vim под win32 уже поддерживает.
А так и я тебе покажу Mozilla с установленым плагином для спеллчекера, похожее окошко вылезает.
Или вот: http://hermitte.free.fr/vim/VS_help.html
Первое - не unix way. Второе - вроде да.
Я говорил про виндовс-вэй а не про микрософт-вэй.
Что типа активХ компоненты предоставляющие много функциональности окружающим прогам - это добро. А утилитки жрущие и срущие текстом (ггг) это немножко устарело.
А что там микрософт продвигает - это хз. Но надо заметить, что в данный момент от них очень много пользы. Вот .НЕТ например. А в это время Сан отказывается открыть жава-компилятор (АФАИК).
> А утилитки жрущие и срущие текстом (ггг) это немножко устарело.
Ну а я объяснил, почему такой твой взгляд, если ты разработчик, выгоден Microsoft и не выгоден тебе
> Вот .НЕТ например. А в это время Сан отказывается открыть жава-компилятор (АФАИК).
Не вижу повода противопоставлять. .net как платформа ничуть не более открыт, чем java.
>> А утилитки жрущие и срущие текстом (ггг) это немножко устарело.
>Ну а я объяснил, почему такой твой взгляд, если ты разработчик, выгоден Microsoft и не выгоден тебе
гг. Ты объяснил почему M$ выгодно делать открытую функциональность у эксплорера и ворда. А технология активХ сама по себе выгодна всем, ибо песдата. И я, наверное, объяснил почему.
Да, а .НЕТ вообще-то полностью открытый, насколько я знаю. Недалеко от меня лежит прекрасная книжка про илАсм, так вот, там все расписано вплоть до формата PE. С константами. И вообще - моно же делают вроде.
> формата PE. С константами.
Формат байт-кода java тоже открыт.
> И вообще - моно же делают вроде.
kaffe делают сколько лет уж...
Самое главное - стандартная библиотека классов (не помню, какое модное слово придумали MS, чтобы по-новому назвать это) - закрыта.
То есть привязана к windows, под mono не заработает.
Никакой разницы, кроме того, что .Net как платформа (а только как виртуальная машина) привязана к windows.
Песдато - это ты сказал.
А вот какие такие рулезы доступны, которых нельзя получить более простым путём, примера не привёл.
Но всё равно - кажущаяся красота притягивает.
Маза на это и расчёт пиарщиков из MS.
В отличии от джавы .НЕТ разрабатывался в первую очередь для того, что жизнь стала легче под виндой, поэтому неудивительно что там зашито очень много спецефичных для винды вещей.
А вообще мне интересно, как будут смотреться юниксы лет так через 5, когда под виндой обретут реальность технологии которые скрываются под словами: ClickOne, Monad, WinFX (тут этих слов немерено WinFS, ... За последние годы майкрософт очень резво набирает оботоры. Взять хотя бы ту же Visual Studio, SQL Server, ....
например?
> ClickOne
хм
попытка добиться такого же удобного механизма обновлений, как в Debian?
> WinFX (тут этих слов немерено)
всего лишь новое API взамен гнилого Win32
чему радоваться, непонятно
разве только тому, что придётся переписывать свои программы,
вместо того чтобы править баги или добавлять функциональность
> WinFS
про это я уже высказался: 10 лет уже в стадии Real Soon Now
Vaporware, иначе говоря
> Monad
лень искать, что за фигня
Ах да, вспомнил. Читал про эту штуку.
Что я могу сказать. Идея лежит на поверхности. Лично я подумал про такое в раннем детстве,
как только прочитал про ООП. (Командную строку к тому времени я уже видел).
И мне кажется я знаю, почему до сих пор не реализовано.
Потому что, при кажущейся красоте идеи, использовать это по назначению, т.е. как шелл,
было бы неудобно - много писать слишком. Претензии ровно те же, что и к COM, только ещё сильнее.
Конечно, если MS заставит использовать это, будут учиться использовать.
И быстро сделают Open Source аналог, копировать разработки MS много желающих находится.
WinFX - это качественно новый API. Прогать на WinFX на порядок продуктивнее чем на Win32, MFC (да и Qt не сильно лучше).
А Monad это как раз то чего винде так давно не хватало, это аналог bash (хотя реализация интереснее).
Можно конечно не верить, что WinFS увидет свет, но у меня есть все основания в это верить.
> пока под Linux технически реализовать сложно. На сколько я знаю CAS пока в Mono не реализовали.
Погуглил ещё чуть-чуть про CAS. Подход к обеспечению безопасности очень похож на SELinux.
Сейчас SELinux сложновато пока использовать, я думаю, примерно через год это станет обычным делом.
Есть такая замечательная прога - .NET Reflector. А к ней замечательнейший плагин - fileGenerator. В принципе ее можно напустить даже на mscorlib, и получить как-бы сурцы, причем вполне вменяемые (потому что херятся только имена локальных переменных и комментарии - кроме тех, которые /// и сохраняются в хмлке). Правда есть два "но". Во-первых винформы в полном составе завязаны на вин32апи. По понятным причинам. Половина винформовских функций - это просто врапперы. Во-вторых вроде как я там видел что-то типа внутренних инлайнов... Хз, не удалось рефлектору вытащить какую-то функцию (не помню какую мне показалось что она там просто на каком-то низком уровне написана из соображений скорости. Но я нифига не помню что именно это было, так что точно сказать не могу.
А моно кстати уже 1.05 (production) & 1.13 (development) релизнули. Щаз они активно фишки С# 2.0 добавляют. Насколько я понял, АДО и АСП у них портированы в полном объеме, а для графики - GNOME и GLIDE. Вот. Я даже задумался - а не заценить ли, вдруг реально клево...
они вроде сейчас winform реализуют, а то до этого через wine работали
ма как CAS реализовать без проверяемого кода, т.е. виртуальная машина нужна так или иначе
виртуальная машина - это тоже неплохая штука, но пока утопия
всего одна функция в native маш. коде - и мы проиграли
если нужна песочница - есть вон java, как самый известный пример
только вот не особо приложений напиcано, так как утопия
Можно еще раз более внятно? Где утопия, кто утопия, что за нативная функция, на чем не особо много приложений написано? НА ЖАВЕ НЕ ОСОБО МНОГО ПРИЛОЖЕНИЙ НАПИСАНО?
осталость SELinux с Debian объединить, тогда будет Linux с ClickOne
Потому что native-функции будут иметь возможность нарушить политику безопасности, обходя монитор обращений.
> НА ЖАВЕ НЕ ОСОБО МНОГО ПРИЛОЖЕНИЙ НАПИСАНО?
Ну да, особенно если не считать те, в которых есть native-методы.
У меня на тачке нет ни одного приложения на Java, и зачем они могут понадобиться, не знаю.
Утопия - реализовывать механизмы безопасности на уровне виртуальной машины.
Потому что native-функции будут иметь возможность нарушить политику безопасности, обходя монитор обращений.
А почему утопия-то? Я вот на шарпе пишу, и я буду только рад, когда у меня все общение с виндой будет без использования анманагед функций. А щаз я эти самые функции использую по одной единственной причине - нету соответствующей либы с врапперами =)
А вот написать грамотные неглючащие врапперы наверное все-таки возможно. Хотя бы частично.
Вот, а анманагед длл запускать на виртуальных машинах!
А директХ интегрировать в ядро. И будет щастье.
Да, а по поводу Жавы - это лол. Точно.
Вот я у Мадкроза спросил. Он ответил Microsoft Content Management Server 2002 частично, матлаб, еще я тут же вспомнил ИДЕА и эклипс, а потом Мадкроз сказал, что наверное сан, оракл и ибм половину своего софта пишут на жаве, но он корпоративный, поэтому у тебя его на машЫне нет. Еще у нас куча знакомых пишет на жаве. И вообще ЛОЛ. Как бы наличие трех стандартных полноценных кроссплатформенных библиотек визуальных компонентов (типа оконные подсистемы) заставляет предположить что это неспроста. Кстати, как ты определяешь наличие в приложении нативного кода? И что вообще считать нативным кодом?
Он ответил Microsoft Content Management Server 2002 частично, матлаб, еще я тут же вспомнил ИДЕА и эклипсЭто как много софта... Да это капля в море! А домыслы про корпоративный софт - это всего лишь домыслы.
PS: жаба - всего лишь нишевое решение... Вообще не понимаю кому она нужна... Сама по себе она - отстойный недоязычок с ублюдочным синтаксисом(недос++). Единственный плюс - кроссплатформенность. Но я не готов платить за это такую цену(тормоза + куча ресурсов). Я лучше буду использовать нормальные кроссплатформенные библиотеки. А жаба идет лесом.
'RenameFiles.vbs
Option Explicit
Dim oDlg,oF,oFile,fso,oFolder,oFiles,args,path,i,folder
Set args = WScript.Arguments
If args.Count = 1 Then
path = args(0)
Else
path =""
End If
Set fso = CreateObject("Scripting.FileSystemObject")
If Not fso.FolderExists(path) Then
Set oDlg = WScript.CreateObject("Shell.Application")
Set oF=oDlg.BrowseForFolder(0,"xxx",&H0001,17)
path=Left(Right(oF.ParentFolder,32) &"\"& oF.Title
End If
folder = Right(path,Len(path)-InstrRev(path,"\",-1,vbTextCompare
Set oFolder = fso.GetFolder(path)
Set oFiles = oFolder.Files
i = 1
For Each oFile In oFiles
oFile.Name = folder & CStr(i)
i = i + 1
Next
можно запускать двумя путями: перетащив значок папки на этот файл
или просто запустив его
Сама по себе она - отстойный недоязычок с ублюдочным синтаксисом(недос++).Муа-ха-ха. В жаве прекрасный синтаксис. Гораздо лучше чем в с++. По крайней мере, нету "->" и "::". А так ты вообще жаву-то знаешь, дружОк?
Вот когда будет - посмотрим, что у получившейся фигни будет с безопасностью.
> А вот написать грамотные неглючащие врапперы наверное все-таки возможно. Хотя бы частично.
10000 native-фунцкий за врапперами, необходимые приложению, означают, что попытка
обеспечить безопасное выполнение этого приложения с помощью монитора обращений в виртуальной машине
потерпела фиаско.
> Вот, а анманагед длл запускать на виртуальных машинах!
В смысле, в отдельных виртуальных машинах?
И передавать им параметры через RPC?
Надеюсь, это шутка.
Про Java - ну если 1.5 приложения, не считая средств разработки для java же,
считать огромным количеством софта, что уж тут обсуждать...
Где-то я это уже видел.
"Joel on Software?"
---
...Я работаю антинаучным аферистом...
Да, по мотивам.
у меня его нет, простите.
скажи, сколько надо софта (в штуках чтобы ты понял, что на Java много написано?
кстати, куча софта остается нами незамеченной, вроде серверов всяких и т.п. AudioScrobbler
Embedded Software
*The New WORLD - MMORPG - http://sourceforge.net/projects/billybossmmorpg/
*Caller Id Presentation System - Caller Id Presentation System
*mp3elf - http://sourceforge.net/projects/mp3elf
Java and Databases
*The New WORLD - MMORPG - http://sourceforge.net/projects/billybossmmorpg/
*Compiere ERP & CRM Business Solution - Compiere ERP & CRM Business Solution
*The Open For Business Project - http://sourceforge.net/projects/ofbiz
*JukeX - http://sourceforge.net/projects/jukex
Java Desktop Applications
*Caller Id Presentation System - Caller Id Presentation System
*Jext - Jext
*IDLE - http://sourceforge.net/projects/idle
*OCD - http://ocd.sourceforge.net
*The Freenet Project - The Freenet Project
*CatChat - http://catchat.sourceforge.net/
*JukeX - http://sourceforge.net/projects/jukex
*Hunt For Gold - http://sourceforge.net/projects/huntforgold
Java Development Tools
*JBoss JBuilder Open Tool - JBoss JBuilder Open Tool
*JFreeChart - JFreeChart
*Zaval Java Resource Editor - http://sourceforge.net/projects/zaval0002/
*Jext - Jext
*The Open For Business Project - http://sourceforge.net/projects/ofbiz
*iText, a JAVA-PDF library - iText, a JAVA-PDF library
*NetBeans - NetBeans
*netbyte - netbyte
Java Middleware
*JBoss JBuilder Open Tool - JBoss JBuilder Open Tool
*jboss.org - jboss.org
*The Freenet Project - The Freenet Project
*The Open For Business Project - http://sourceforge.net/projects/ofbiz
*dom4j: flexible XML framework for Java - dom4j: flexible XML framework for Java
*JukeX - http://sourceforge.net/projects/jukex
*m-e-c eagle - B2B integration software - m-e-c eagle - B2B integration software
*Distributed Storage Leasing (DSL) - http://sourceforge.net/projects/dsl
*NetBeans - NetBeans
Java Servlet Technology
*JPublish - JPublish
*Tapestry - Tapestry
*jboss.org - jboss.org
*The New WORLD - MMORPG - http://sourceforge.net/projects/billybossmmorpg/
*Jetty - Java HTTP Servlet Server - Jetty - Java HTTP Servlet Server
*The Open For Business Project - http://sourceforge.net/projects/ofbiz
*WebZone - WebZone
Java Web Tools
*JPublish - JPublish
*Tapestry - Tapestry
*Jetty - Java HTTP Servlet Server - Jetty - Java HTTP Servlet Server
*Compiere ERP & CRM Business Solution - Compiere ERP & CRM Business Solution
*The Open For Business Project - http://sourceforge.net/projects/ofbiz
*WebOS (xtremesuite) - WebOS (xtremesuite)
Java with XML
*OCD - http://ocd.sourceforge.net
*The New WORLD - MMORPG - http://sourceforge.net/projects/billybossmmorpg/
*The Open For Business Project - http://sourceforge.net/projects/ofbiz
*dom4j: flexible XML framework for Java - dom4j: flexible XML framework for Java
*Piccolo XML Parser for Java - http://piccolo.sourceforge.net
*m-e-c eagle - B2B integration software - m-e-c eagle - B2B integration software
*Picture Metadata Toolkit - Picture Metadata Toolkit
Jini Technology
*The New WORLD - MMORPG - http://sourceforge.net/projects/billybossmmorpg/
*WebOS (xtremesuite) - WebOS (xtremesuite)
*jAugment - jAugment
*Java Jini Tools - Java Jini Tools
JIT Compiling
*Jikes - JIT Compiler - Jikes - JIT Compiler
В виндах всё настолько плохо?
Твои грабли с сишными библиотеками показывают лишь качество этих
самых библиотек.
imapd за "чужую прогу" сойдёт?
smtpd? telnetd?
Работают ведь как-то.
---
...Я работаю антинаучным аферистом...
мы здесь говорим в контексте обеспечения безопасности на уровне виртуальной машины
при таком подходе каждая native-функция является доверенным компонентом, в том смысле,
что она имеет возможность нарушить полититику безопасности
понимаешь, о чём я?
надо не софт на Java считать в штуках, а используемые native-приложения и функции
вот когда их можно будет сосчитать в штуках, тогда можно будет сказать,
что механизмы безопасности разумно разместить в виртуальной машине
Генеральный вопрос: а зачем нужно кодировать двоичные данные?
AudioScrobbler.
http://iammoving.com/ - делал один знакомый человек, он даже на форуме есть (точно помню, что он использовал PHP с Java). Вот вы все можете точно определить, была или не была тут использована Java? Если нет, с чего бы вам думать, что на сотнях [тысячах] других веб-проектов она не юзалась?
ну, это из разряда программистского юмора, скорее.
Oracle Application Server 10g - точно ни в чем не уверен, но слова Java и J2EE там мелькают обильно!
влом выбирать отсюда правильные ссылки... в определенном смысле, они все там правильные
http://iammoving.com/ - делал один знакомый человек, он даже на форуме есть (точно помню, что он использовал PHP с Java). Вот вы все можете точно определить, была или не была тут использована Java? Если нет, с чего бы вам думать, что на сотнях [тысячах] других веб-проектов она не юзалась?
ну, это из разряда программистского юмора, скорее.
Oracle Application Server 10g - точно ни в чем не уверен, но слова Java и J2EE там мелькают обильно!
влом выбирать отсюда правильные ссылки... в определенном смысле, они все там правильные
просто выше один человек () занялся тем, что решил опустить Java вообще.
на самом деле, хз, как и чо считать, вот что я решил. Но хорошие Java приложения, конечно, стараются работать без вызовов native-функций
Project Name Description Files Activity %
Azureus - BitTorrent Client Azureus is a powerful, full-featured, cross-platform java BitTorrent client. 100.00%
FCKeditor This HTML editor (DHTML editor for ASP, ASP.NET, ColdFusion, PHP and JavaScript brings to the web many of the powerful functionalities of known desktop editors like Word. It works with Mozilla, Netscape and IE. 99.99%
OpenWFE OpenWFE is an open source java workflow engine. It is a complete Business Process Management suite, with 4 components : an engine, a worklist, a webclient and a reactor (host for automatic agents). It can also be used behind the scene. 99.91%
JasperReports Free Java reporting library. XML report templates are used to generate ready to print documents using data from customizable data sources, including JDBC. The output can be delivered to the screen, printer, or stored in PDF, HTML, XLS, CSV and XML format 99.90%
JavaHMO TiVo HMO Server JavaHMO is a media server for the Home Media Option (HMO) from TiVo® implemented in the Java programming language. 99.78%
iReport-Designer for JasperReports iReport is a visual reporting tool based on JasperReports written in 100% pure java. You can manage charts, images, subreports,... Data can be retrived using JDBC, TableModels, JavaBeans, XML,...It supports output in PDF,XML,XLS,CSV,HTML,Java2D,... 99.77%
PMD PMD is a Java source code analyzer. It finds unused variables, empty catch blocks, unnecessary object creation, and so forth. 99.75%
hipergate Intranet CRM, sales automation, customer service, email marketing, content management, bug tracker, project manager, groupware, webmail, calendar, forums, file sharing, directory. Based on Java /JSP for PostgreSQL, Oracle, SQL Server. 99.74%
BORG Calendar BORG is a calendar and task tracking system written in Java. The calendar provides a nice month view, month-print, email reminders, popup reminders and to do list. The task tracker tracks issues through various states. 99.72%
RSSOwl | RSS / RDF / Atom Newsreader RSSOwl is a RSS / RDF / Atom Newsreader written in Java using SWT as fast graphic library. Read News in a tabfolder, save favorites in categories, Export to PDF / RTF / HTML / OPML, Import Feeds from OPML, perform fulltext-search, use internal browser 99.68%
Notepad++ Notepad++ is a source editor (c/c++/java/html/xml/php/js/makefile/asp/VB/SQL/ObjC/Perl/Python/CSS...) written in C++ with the win32 API (without MFC strictly). The aim of Notepad++ is to offer a small and efficient binary with a totally customizable GUI 99.67%
Tyrant - Java Roguelike Tyrant is a graphical roguelike fantasy adventure game. It features intricate randomly generated landscapes, towns and dungeons. It is written in Java with a highly extensible game engine. 99.66%
MegaMek MegaMek is a networked Java clone of BattleTech, a turn-based sci-fi boardgame for 2+ players. Fight using giant robots, tanks, and/or infantry on a hex-based map. 99.64%
HSQL Database Engine HSQLDB is a relational database engine written in Java, with a JDBC driver, supporting a subset of ANSI-92 SQL. It offers a small (about 100k fast database engine which offers both in memory and disk based tables. This product includes Hypersonic SQL 99.64%
JBoss.org The JBoss/Server is the leading Open Source, standards-compliant, J2EE based application server implemented in 100% Pure Java 99.63%
jBpm.org - java Business Process Mgmt jBpm is a WorkFlow Management System. Business processes must be expressed in process archives in a simple and powerfull language. Users or systems perform single steps of the process. jBpm maintains the state, logs and performs all automated actions. 99.58%
Mantaray A fully distributed peer-to-peer serverless communication and messaging solution, 100% pure Java, supports JMS & RMI APIs, integrates with WebLogic & WebSphere. Provides guaranteed delivery, security, and transactions. Supports TCP, UDP & SSL transports. 99.57%
GanttProject Ganttproject lets you plan projects using a Gantt chart. It is written in Java. GanttProject use a XML file format. It can export the project in HTML Web pages or PDF document (using XSLT) or image files. It support 21 languages. 99.50%
httpunit a Java library for the automatic stimulation and testing of web applications 99.50%
NHibernate A .NET port of the excellent Java Hibernate (http://www.hibernate.org) relational persistence tool. 99.45%
PDFBox PDFBox is a Java PDF Library. This project will allow access to all of the components in a PDF document. More PDF manipulation features will be added as the project matures. This ships with a utility to take a PDF document and output a text file. 99.44%
Java Universal Network/Graph Framework JUNG provides a common and extendible language for the modeling, analysis, and visualization of data that can be represented as a graph or network. 99.41%
PCGen :: An RPG Character Generator PCGen is a Java role-playing game character generator and maintenance program. All datafiles are ASCII so they can be modified by users, and are available through the pcgendm project. An XML conversion is underway. 99.39%
TinyMCE TinyMCE is a platform independent webbased Javascript HTML WYSIWYG editor control, developed in JavaScript/ECMAScript and it's main features include theme/template support, language support and plugin extentions. Works in Mozilla, Firefox and MSIE 99.37%
open ArchitectureWare A suite of tools and components assisting with model driven software development built upon a modular MDA/MDD generator framework implemented in Java(TM) supporting arbitrary import (design) formats, meta models, and output (code) formats. 99.34%
мы здесь говорим в контексте обеспечения безопасности на уровне виртуальной машиныБлин, я ж сказал. Ядро ОС, естественно, нужно писАть на чем-то низкоуровневом. Функции ОС я бы не стал считать такой уж страшной брешью в безопасности. Ну то есть их по любому нужно писАть так, чтобы невозможно было все наебнуть, их и щаз так пишут (пытаются). Для манагед приложения еще нужно будет дописать автоматическую проверку того, что АПИ записывающая что-нить в предоставленный юзером массив не вылезет за границы. Это не очень сложно.
при таком подходе каждая native-функция является доверенным компонентом, в том смысле,
что она имеет возможность нарушить полититику безопасности
А писать приложение наполовину манагед а наполовину нативным естественно не стоит. Разве что эти половины достаточно разделены чтобы безопасный маршаллинг данных между ними не сжирал слишком много времени.
Вообще нативный код нужен только если ты хочешь написать что-нить жутко быстрое, или твоя платформа не предоставляет средств для вызова специфической функции. Вот.
>> Вот, а анманагед длл запускать на виртуальн
smtpd? telnetd?
Работают ведь как-то.
Да. Работают. Я даже сказал как. Реализуют RPC поверх потоков данных, в более или менее полном объеме. Зачем писАть для своей проги реализацию этого самому - я не очень понимаю. Если ты юзаешь либину которая это позволяет делать (тут упоминали что-то под названием xmlrpc) - молодец. Но у тебя по-прежнему остается возможность где-нить наебнуццо (хотя теоретически ты можешь написать гипотетическую прогу без ошибок). Поэтому язык, в котором ООП модель РПЦ фактически встроена - это добро.
А что, уже разучились передавать двоичные данные без кодирования?Муа-ха-ха. Я этой фразы как-то даже и не заметил =)
А что, уже научились?
Или обкладывание данных 4711 дохуябайтными хедерами и контрольными суммами везде где только можно кодированием не считается?
> Функции ОС я бы не стал считать такой уж страшной брешью в безопасности.
Если их мало - то да.
А если их невозможно перечислить, и следовательно учесть риск, то всё очень плохо.
Среди функций ОС:
* оконный интерфейс
* 3d-графика
* криптографические функции
* мультимедиа-кодеки
* что-нибудь похожее на базу данных
То, что в голову пришло. Это куча библиотечных фунций, очень много кода, дыры в нём обязательно будут найдены.
Что из этого _уже_ _полностью_ реализовано в виде managed-кода?
Теперь: тут много говорят о том, как круто использовать компоненты от третьих производителей.
В какой срок их все перепишут полностью в managed-код?
На Java я писал немного 3-4 года назад, это отбило охоту заниматься этим в дальнейшем,
несмотря на то, что я слышал про многочисленные успехи позже.
Ты вообще чего хочешь - технологии, позволяющей писать ОС без дырок? Так это к Контре, он вроде владеет Секретом Теоретического Написания Безглючного Кода.
Могут появиться ошибки на стыках. ХЗ как оценить связанный с этим риск.
> Ты вообще чего хочешь
Например, сравнения эффективности механизмов безопасности на уровне VM и на уровне вызовов ядра.
Изначально речь шла именно о потоках, как способе передачи
данных между приложениями.
И не я вытащил пример с массивом чисел с плавающей точкой.
---
...Я работаю...
Представим себе гипотетическое торжество компонентного подхода.
Программа, которая использует кусочек AutoCAD для конструирования 3d-объекстов,
кусочек 3dmax для визуализации, кусочек PhotoShop для обработки 2d-графики,
ещё для звука и диаграмм кусочки чего-нибудь, и с помощью компонентов MS Office
сводит это в единый документ.
Как такую программу распространять? Сказать пользователю, что он должен купить и поставить
Office, Photoshop, 3DMax, AutoCAD? Это $$$$$ и много гемора.
В рамках Open Source такая модель может ещё прожить, но в области собственнического софта - получается, нереально.
А может быть, будет возможно заменить упомянутые продукты на менее мощные и дорогие, но
с сохранением работоспособности написанного кода? Я в это не верю, но вдруг у Microsoft какое-нибудь чудесное средство есть, а?
class Parser
{
public string Parse(string s);
public void AddReservedWord(string s, int color);
}
А вызывается он так:
Юзер набил очередной кусок текста, мы вызвали Parse и вывели результат, потом сами пропарсили этот кусок, получили новые слова, добавили их: AddReservedWord, повторили наццать раз пока юзер не устал. Пример, повторюсь, притянут за уши ибо влом думать. Но задача вполне корректная.
В ООП парадигме все ок. Вызываем и вызываем.
А вот когда ты пытаешься передать все это сквозь один поток, начинается полная жёпа. Либо ты сразу говоришь, что ты гонишь чисто бинарные данные, и каждый вызов функций превращаешь в хедер (в котором записана длина параметра, sequence number етс.) + данные + контрольная сумма. Но если у тебя поток типа условно текстовый (с escape sequences етс.) то тебе придется прилагать некие усилия по передаче бинарного файла через текстовый поток. Плюс полнейшая human unreadability.
Или же ты говоришь, что у тебя команда "вызвать функцию Parse" начинается с кодовой последовательности %Parse, но чтобы встретившаяся в парсящемся тексте такая же кодовая последовательность не переебала все нахх, все отдельные % мы будем заменять на %%. А в полученном результате заменять обратно. А если у нас поток не просто поток, а стандартный никсовый файловый поток, то нужно еще всякие ^D (как один символ) заменить на три символа %^D (например). А потом опять таки заменить обратно.
То есть как только требуется некоторая интерактивность, приходится строить над потоком обыкновенную RPC. Интерактивность - в смысле не настроил тулзу через параметры командной строки и переменные окружения, она тебе обработала кучу текста одинаковым образом и выдала результат, а как в вышеприведенном примере - послали кусочек текста, перенастроили немножко, послали еще кусочек. Причем перезапускать тулзу с новыми параметрами нельзя, потому что она у себя внутри дофига всего помнит, и у нас получатся просто чудовищные накладные расходы.
О! Я придумал вменяемый пример! Когда у тебя есть модуль архивации, который словарь не строит сам, а словарь ему дается снаружи. То есть он сожрал кусок текста, высрал пожатый кусок + некоторую статистику. Мы статистику как-нибудь хитро обработали, послали ему команду "поменяй словарь вот так!", послали следующий кусок текста.
Весь тред не читал, но хочу заметить вот что: в своё время когда разбирался с ipfw чуть не охуел, как там всё вывернуто сделано после логичного iptables.
У Oracle почти все тулы и утилиты на джаве
И все же проблема с native функциями в .НЕТ. Сегодня в .НЕт приложению, которые содержит unmanaged code, требуется Full Trust. Думаю, что так будет еще очень долго. С другой стороны думаю реализация ограничений, отслеживая системные вызовы не такая гибкая в итоге. А еще разница наверно в том, что нужно будет в рантайм чекать, что можно выполнять данный системный вызов. В .НЕТ это делается при загрузке наверно, ну уж точно не надо чекать каждый вызов.
> при загрузке наверно, ну уж точно не надо чекать каждый вызов.
А тебе не приходило в голову, что нужно смотреть на параметры вызовов?
То есть вызов "записать файл" иногда нужно разрешать, а иногда - нет, в зависимости от того, в какой файл что пишем?
Ну это как раз и не самый распространенный случай (не уверен, что CAS вообще причем). Вообще это вопрос нужно рассмаривать в конкесте предполагаемых сценариев. Возможно в винде и в линухе эти вещи собираются ипользовать для различных дел.
Я бы почитал, это моя область.
то вы заблудитесь," --- говорил Антон Палыч.
Ты закопался в те внутренности, когда пользователь ничего не
может сделать, окромя как написать новую программу.
Что в винде, что в униксе.
Вот только ОО парадигма и здесь плоха:
обмен сообщениями проще вызова чего-то там виртуального.
Кстати, прочитай, кем отрабатываются C-C, C-D, C-\ и прочие C-Z.
Узнаешь много нового.
---
...Я работаю антинаучным аферистом...
А утилитки жрущие и срущие текстом (ггг) это немножко устарело."Устарело" - это очень хуевый аргумент. Он не описывает никаких недостатков. Это примерно как Киря заявляет, что форум лучше ньюсов потому, что NNTP - очень старый протокол. Замечу, что не старее TCP/IP через которое работает форум.
Эти "устарелые" утилитки работают намного быстрее, чем COM объекты и прочая современная поебень. Сразу пресеку вопли про то, что на современных компах, мол, скорость на важна. Важна! Как говорится, size matters. К примеру, раз в месяц у меня на работе выставляются счета клиентам за трафик. Задача простая: по определенным фильтрам и признакам ссуммировать определенные столбцы простой электронной таблицы. Только с этой электронной таблицей не справится Excel. Объем компрессированных gzipом данных за месяц превышает 100 Гб. Я выполняю задачу исключительно "устарелыми" поточными утилитами.
SourceForge.net Java foundryБу-га-га! Теперь приведи цифру количества проектов на SourceForge. Что бы наглядно был виден процент приложений на джаве.
Не знаю, что посоветовать про CAS почитать. Можно посмотреть MSDN Online. Я вообще сейчас на джава пишу
Не позорься. telnet, SMTP - протоколы взаимодействия абсолютно разных систем между собой. Они реализуют протоколы поверх потоков данных, а не вызовы удаленных процедур (RPC).smtpd? telnetd?Да. Работают. Я даже сказал как. Реализуют RPC поверх потоков данных, в более или менее полном объеме.
Работают ведь как-то.
Я конечно согласен, что если технологиям несколько десятков лет, то это ничего не значит. Хотя майкрософт обычно свои технологии начинают неустраивать раньше, чем они заканчивает свое развитие. Конечно можно сказать, что такие значит у майкрософт технологии. Но думаю тут просто существуют два подхода.
1) Вот есть одна очень старая, но привычная и родная технология. Правда здесь есть не большая проблема, и тут тоже, но если немного подправить, то вроде проблем и нет.
2) Да, есть у нас технология, когда придумывали все было круто, то сегодня где-то требования другие или что, но не все так хорошо с ней сегодня. Но вот если сделать сегодня такую технологию, что она будет лишена всех проблем старой и еще появятся новый возможности и т. д.
Понятно кто придерживается какого подхода. И вообщем-то понятно почему. Поэтому я слежу за развитием майкрософтской платформы, а не, скажем, за развитием linux.
А насчет "устарело" - это я в смысле что в парадигме "утилитка обрабатывает поток" крайне хуйово реализуется интерактивность, про которую я уже писал. Эта интерактивность безусловно добро. Довольно часто она необходима. Естественно не всегда, но довольно часто. Но никто и не собираеццо отправлять старые добрые потоки (вместе с файлами, кстати =) ) на свалку истории.
2 контра:
>Ты закопался в те внутренности, когда пользователь ничего не
>может сделать, окромя как написать новую программу.
ну да, а мы тут что обсуждаем? По поводу голого шелла я полагаю мы уже пришли к общему мнению, что цмд вообще-то достаточно мощен для того, чтобы написАть такой скрипт на нем.
>обмен сообщениями проще вызова чего-то там виртуального.
ЛОЛ. Ничего ебанутей обмена сообщениями программеры всех стран начиная с Ады Лавлейс еще никогда не придумывали, ИМХО. Тебе, наверное, повезло, ты, наверное, никогда не писАл под винАпи кнопку, которая рисует надпись на себе произвольным цветом =) И это не винапи такое ебанутое, это парадигма обмена сообщениями.
Да, и посмотри - там был _полностью_ _работающий_ код, который "вызывал что-то там виртуальное" =) Прекрасный понятный код.
Ну про производительность СОМ лучше не надо -- это в умелых руках резвая лошадка.Я про COM ничего и не говорил. Я даже не знаю что это такое. Приведен пример электронной таблицы для обработки которой годятся только "устаревшие" потоковые методы, потому что памяти загрузить её в Excel ни у кого не хватит.
А насчет "устарело" - это я в смысле что в парадигме "утилитка обрабатывает поток" крайне хуйово реализуется интерактивность, про которую я уже писал. Эта интерактивность безусловно добро. Довольно часто она необходима.То есть "устарело" == "не интерактивно"? Будем знать. Я не считаю что интерактивность безусловное добро. Нафиг она нужна, когда делается сумма по миллионам записей? Да пусть у меня экранчик будет не подвижен пока не будет результата, мне так удобнее. Когда я работаю через модем, то для меня излишняя интерактивность удаленных программ - зло.
Я избежал участи программирования под винапи.
А обмен сообщениями я делал.
Очень даже хорошо читаемые КА.
Всё хорошо бы в ООП, да только при объяснении, как оно работает,
почему-то привлекаются слова "послать сообщение."
---
...Я работаю антинаучным аферистом...
Всё хорошо бы в ООП, да только при объяснении, как оно работает,мб это кто-то тебе что-то неправильно как-то раз объяснил, и именно это на тебя так повлияло забавно? Я, честно говоря, не могу представить куда в описание ООП вставить слова "послать сообщение".
почему-то привлекаются слова "послать сообщение."
2глебиус: да-да-да! Я полностью согласен! А еще кстати многозадачность (особенно вытесняющая) редкостное говно - если создать 65536 процессов, то очень много времени тратится на переключение контекстов. Так что фпесду ее, будем юзать пакетную обработку везде.
Ну екселе я не спец. Думаю он не очен предназначен для потоковой обработки данных. Хотя и в этом не уверен, чего только в это экселе нет
Понятия не имею, что там сейчас пишут.
Если пишут "вызов" --- то это никакая не объектная
ориентированность, а обычное модульное программирование.
На уровне обычных, неприплюснутых сей.
---
...Я работаю антинаучным аферистом...
данных за секунды, с удовольствием пользовался бы им,
а не скриптом.
---
...Я работаю...
2глебиус: да-да-да! Я полностью согласен! А еще кстати многозадачность (особенно вытесняющая) редкостное говно - если создать 65536 процессов, то очень много времени тратится на переключение контекстов. Так что фпесду ее, будем юзать пакетную обработку везде.Я бы проигнорировал этот бред, если бы не было обращения ко мне. Что ты хотел сказать? Пожалуйста проясни.
То есть "устарело" == "не интерактивно"? Будем знать. Я не считаю что интерактивность безусловное добро. Нафиг она нужна, когда делается сумма по миллионам записей? Да пусть у меня экранчик будет не подвижен пока не будет результата, мне так удобнее. Когда я работаю через модем, то для меня излишняя интерактивность удаленных программ - зло.
Приведен пример электронной таблицы для обработки которой годятся только "устаревшие" потоковые методы, потому что памяти загрузить её в Excel ни у кого не хватит.
2 Контра: ок, пошел читать Буча. Хотя мне почему-то попадались описания ООП на основе процедурной ориентированности (типа структура + методы = инкапсуляция, затем прибавим наследование и полиморфизм и получится типа ООП). Буду расширять кругозор =)
Поиск по слову "cas" находит много чего про certificate authorities.
Кто вообще первый сказал, что планируется такая технология?
http://desigeek.com/weblog/amit/archive/2004/10/20/444.aspx
CAS = Code Access Security в .NET присутствует с версии 1.0, соответственно должна быть хорошо описана много где, в том числе и в MSDN
Каким ты пользуешься критерием, который позволяет тебе думать, что то, что тебя окружает - это самое лучшее?
С чего ты взял, что я так считаю?
потому, что ты это приводишь как некий довод
Если нет, то наверное всё-таки надо поспать.
В данном случае я не говорил, что то, что я использую, лучше гипотетических аналогов.
Оставить комментарий
grey1970
С помошью чего и как можно написать скрипт который переименовывал бы файлы в директории следующим образом[Имя директории]&[Cчетчик]
Спасибо!