Перейти к содержимому


Фотография
- - - - -

Слабо на Delphi сделать то же?


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 127

#1 Кот Баюн

Кот Баюн

    активен

  • Небожитель
  • PipPipPipPipPipPip
  • 10 444 сообщений

Отправлено 07.10.2004, 09:20

import java.util.*;

// Prints a frequency table of the words on the command line
public class Frequency {
   public static void main(String[] args) {
      Map<String, Integer> m = new TreeMap<String, Integer>();
      for (String word : args) {
          Integer freq = m.get(word);
          m.put(word, (freq == null ? 1 : freq + 1));
      }
      System.out.println(m);
   }
}
Вывод:

java Frequency if it is to be it is up to me to do the watusi
{be=1, do=1, if=1, is=2, it=2, me=1, the=1, to=3, up=1, watusi=1}



„Именно в интуиции нам является сущность бытия как мировая воля, как единое метафизическое начало мира, которое раскрывает себя в многообразии случайных проявлений“

#2 holy666

holy666

    Дохлый Суслег (ex-Директор зоопарка)

  • Почетный житель
  • 3 303 сообщений

Отправлено 07.10.2004, 09:32

замер пиписек?
Убиваю сусликов. Быстро и недорого.

#3 Кот Баюн

Кот Баюн

    активен

  • Небожитель
  • PipPipPipPipPipPip
  • 10 444 сообщений

Отправлено 07.10.2004, 10:18

замер пиписек?

Замер трудоёмкости написания кода и объёма исходников...

„Именно в интуиции нам является сущность бытия как мировая воля, как единое метафизическое начало мира, которое раскрывает себя в многообразии случайных проявлений“

#4 Spirit

Spirit

    нигилист

  • Небожитель
  • PipPipPipPipPipPip
  • 13 027 сообщений

Отправлено 07.10.2004, 11:59

Самое интересное, что это наверное даже мне не слабо.
Вор - не правительство, в пустой карман не полезет.

#5 true

true

    Небожитель

  • Небожитель
  • PipPipPipPipPipPip
  • 11 667 сообщений

Отправлено 07.10.2004, 13:39

import java.util.*;

// Prints a frequency table of the words on the command line
public class Frequency {
   public static void main(String[] args) {
      Map<String, Integer> m = new TreeMap<String, Integer>();
      for (String word : args) {
          Integer freq = m.get(word);
          m.put(word, (freq == null ? 1 : freq + 1));
      }
      System.out.println(m);
   }
}
Вывод:

java Frequency if it is to be it is up to me to do the watusi
{be=1, do=1, if=1, is=2, it=2, me=1, the=1, to=3, up=1, watusi=1}

я тебе на с++ сравнимый по размерам код напишу, может даже меньше
С приходом опыта многие задачи становятся нам не только по плечу, но и глубоко по %%%.

#6 Гость_MindKiller_*

Гость_MindKiller_*
  • Гость

Отправлено 07.10.2004, 15:05

это, а в чем смысл первого постинга я не понял ? бтв, наконец-то у сана хватило мозгов добавить дженерики в яву, а то как в прошлом веке жили

#7 Кот Баюн

Кот Баюн

    активен

  • Небожитель
  • PipPipPipPipPipPip
  • 10 444 сообщений

Отправлено 14.10.2004, 00:14

бтв, наконец-то у сана хватило мозгов добавить дженерики в яву, а то как в прошлом веке жили

Выскажу своё эмоциональное мнение и философский взгляд на вещи.

Мне, например, резко не нравятся темплейты и генерики, по причине ещё одного "измерения" в  семантическом пространстве выражения мыслей на языке (простите за слишком вумную фразу).

Что ещё мне не нравится в Java2 ещё с версии 1.2 так это вложенные классы, которые используются как затычки, чтобы "не протекало" (ведь в откомпилированном коде они представляют собой обычные классы, в названии которых стоит дурацкий разделитель "$"). Опять же, ещё не одна семантика использования этих сущностей.

Не множьте сущности без необходимости! (Как сказал один мудрец)
Чего только стоит новый класс java.lang.StringBuilder - я офигеваю - мало классов-коллекций на каждый чих-аспект работы, пожалуте, - своя коллекция. От LinkedList до ArrayList в качестве аспекта общего контейнера Vector, так ещё параллельно StringBuffer-у ещё StringBuilder придумали, а методов у него -  :wow: зашибись и все полезные оказывается!!!
Не, а разве не могли сделать один единственный класс java.lang.String более функциональным?
Разве нельзя сделать класс java.util.Vector более приспособленным для разных коллекций?
Зачем плодить сущности попусту? Расцвет видов и ареала обитания? Так это в живой природе только хорошо работает,...или хотят сделать из изначально компактной и простой платформы левиафана.

Да, размер исходного кода уменьшился значительно, но что взамен?
1. ВЫРОСЛА СЛОЖНОСТЬ КОМПИЛЯТОРА (он защищён от ошибок? для C++ компилятор писали годами...но не избавились от неоднозначностей до сих пор);
2. ВЫРОС ПОРОГ ПОНИМАНИЯ КОДА ЧЕЛОВЕКОМ (теперь необходимо знать (о ужас!) шаблоны и дженерики, от которых отказались вначале для простоты);
3. ВЫРОСЛО ЧИСЛО ДУБЛИРУЮЩИХ СУЩНОСТЕЙ, отравляющих жизнь вопросами выбора, - налицо потребительский подход к решению задач.

В общем, после версии 1.1.8 Java стала сложнее, а с выходом версии 1.5 язык потерял, наконец-то, всю прелесть простоты. От чего хотели уйти, к тому же и пришли - круг замкнулся. :user:


„Именно в интуиции нам является сущность бытия как мировая воля, как единое метафизическое начало мира, которое раскрывает себя в многообразии случайных проявлений“

#8 Гость_MindKiller_*

Гость_MindKiller_*
  • Гость

Отправлено 14.10.2004, 00:44

Мне, например, резко не нравятся темплейты и генерики, по причине ещё одного "измерения" в  семантическом пространстве выражения мыслей на языке (простите за слишком вумную фразу).

когда ты осознаешь что такое шаблоны и как ими пользоваться (получая из этого выгоду), то больше такой ерунды говорить не будешь. сейчас язык без минимальной базы для "метапрограммирования" - это палки в колеса прогресса.
мне это напоминает ворчание деда, копающего огород совковой лопатой, на пытающихся ему всучить КРОТа родственников...


#9 Кот Баюн

Кот Баюн

    активен

  • Небожитель
  • PipPipPipPipPipPip
  • 10 444 сообщений

Отправлено 14.10.2004, 00:59

Мне, например, резко не нравятся темплейты и генерики, по причине ещё одного "измерения" в  семантическом пространстве выражения мыслей на языке (простите за слишком вумную фразу).

когда ты осознаешь что такое шаблоны и как ими пользоваться (получая из этого выгоду), то больше такой ерунды говорить не будешь.

Это легко для C++-программистов - за них идёт, кстати, нешуточная борьба со стороны сторонников MS .Net и со стороны Java-сообщества, так как сейчас всё больше требуются программисты managed-кода (расцвет автоматической сборки мусора?), которые постепенно отходят от C/C++.
Мне придётся изучить, считай, ещё один язык программирования - шаблонный и заниматься "метапрограммированием".
На это, естественно, уйдёт какое-то время, допустим неделя для изучения "всех обстоятельств с этим связанных". А мозги не резиновые, что-то забывается, к этому приходится возвращаться и освежать знания - на всё это опять уходит ВРЕМЯ.
Вместо того, чтобы заниматься решением задач на ПРОСТОМ языке, приходится больше заниматься изучением СЛОЖНОГО языка.

сейчас язык без минимальной базы для "метапрограммирования" - это палки в колеса прогресса.

Скажите это Никлаусу Вирту, который всю жизнь "положил" на создание простого и понятного языка от Pascal-а до Oberon-а. В итоге его система, похожая на Windows где всё есть, работает с дискетки, а виндуза, как и другие изначально хорошие идеи, превращаются(уже превратились) в дырявых монстров.

мне это напоминает ворчание деда, копающего огород совковой лопатой, на пытающихся ему всучить КРОТа родственников...

Кстати, аналогия уместна. Только дед вскапывает лопатой не огород, а цветочную клумбу, а подсовывают ему не КРОТ-а, а трактор КА700 - типа: "по всему миру налажено крупносерийное производство тракторов KА700 для любых видов почв, объёма вспашки и любых климатических зон - можно пахать в Антарктике".


„Именно в интуиции нам является сущность бытия как мировая воля, как единое метафизическое начало мира, которое раскрывает себя в многообразии случайных проявлений“

#10 Кот Баюн

Кот Баюн

    активен

  • Небожитель
  • PipPipPipPipPipPip
  • 10 444 сообщений

Отправлено 20.11.2004, 13:07

Решение на языке Ruby задачи, которая часто предлагается студентам первого курса, изучающим языки C/C++: для заданного текстового файла определить число вхождений в него каждого из встречающихся в нем слов. Использование ассоциативных массивов и ряда стандартных методов работы с файлами и строками позволяет написать чрезвычайно краткую и ясную программу.

freq = Hash.new(0)
while gets()
  for word in $_.split(/\W+/)
    freq[word] += 1
  end
end
for word in freq.keys.sort!
  print word, " -- ", freq[word], "\n"
end

Здесь: http://www.chair36.m...tml/node36.html


„Именно в интуиции нам является сущность бытия как мировая воля, как единое метафизическое начало мира, которое раскрывает себя в многообразии случайных проявлений“

#11 BaRoN!

BaRoN!

    ПТУшнег

  • Почетный житель
  • 672 сообщений

Отправлено 20.11.2004, 16:26

Ну почти то же самое пишется на любом скриптовом языке, i.e. perl while (my $arg=shift) {    $hash{$arg}++; } while (my($k,$v)=each %hash) {    print "$k: $v\n"; } А для дельфи кстати был сторонний модуль Hashes.pas - там было бы точно так же, как здесь в perl. inc(hash["word"]);
[ Мой блог | Наш проект | ICQ: 78197047 ] // Слесарь-программист.

#12 BaRoN!

BaRoN!

    ПТУшнег

  • Почетный житель
  • 672 сообщений

Отправлено 20.11.2004, 16:28

это, а в чем смысл первого постинга я не понял ?

Вероятно, сообщить, что задача по силам тольео Jave. Скачай JRE 1.5 и будет тебе щастье.
[ Мой блог | Наш проект | ICQ: 78197047 ] // Слесарь-программист.

#13 2TFighter

2TFighter

    Старожил

  • Житель
  • 463 сообщений

Отправлено 20.11.2004, 16:53

Ну и на Delphi не слабо. Тривиальное решение, пусть и не самое красивое

program Project1;

{$APPTYPE CONSOLE}

uses
  Classes, SysUtils;

var
  i: Integer;
begin
  with TStringList.Create do
  try
    Duplicates:= dupIgnore;
    Sorted:= True;
    for i:= 1 to ParamCount do
    begin
      Add (ParamStr (i));
      Objects[IndexOf(ParamStr (i))]:= TObject(Integer(Objects[IndexOf(ParamStr (i))]) + 1);
    end;
    for i:= 0 to Count - 1 do
      WriteLn (Format ('%s: %d times', [Strings[i], Integer(Objects[i])]));
  finally
    Free;
  end;
end.
Только не надо говорить, что строчек больше :) Главное - алгоритмическая сложность такая же.

I am one million kilometers from the star's corona... I should reach it in approximately three minutes
Изображение

#14 Кот Баюн

Кот Баюн

    активен

  • Небожитель
  • PipPipPipPipPipPip
  • 10 444 сообщений

Отправлено 23.11.2004, 21:15

И ещё. Слабо на Delphi сделать маленький web-сервер, чтобы запрошенный контент просто отдавал? Ещё одно условие: устойчивый против DoS - неконтролируемого множественного подключения.

„Именно в интуиции нам является сущность бытия как мировая воля, как единое метафизическое начало мира, которое раскрывает себя в многообразии случайных проявлений“

#15 true

true

    Небожитель

  • Небожитель
  • PipPipPipPipPipPip
  • 11 667 сообщений

Отправлено 23.11.2004, 21:26

И ещё.
Слабо на Delphi сделать маленький web-сервер, чтобы запрошенный контент просто отдавал? Ещё одно условие: устойчивый против DoS - неконтролируемого множественного подключения.

дык там sample есть простейшего сервера  :D
сиди и правь. как делается антилич думаю смекнешь

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

#16 Кот Баюн

Кот Баюн

    активен

  • Небожитель
  • PipPipPipPipPipPip
  • 10 444 сообщений

Отправлено 24.11.2004, 00:18

И ещё.
Слабо на Delphi сделать маленький web-сервер, чтобы запрошенный контент просто отдавал? Ещё одно условие: устойчивый против DoS - неконтролируемого множественного подключения.

дык там sample есть простейшего сервера  :D
сиди и правь. как делается антилич думаю смекнешь

Хде?
(В Delphi есть чат обрезанный до мозжечка (я его давно переделал для мультиклиентского). И ещё там есть Web-браузер (на компоненте) - насколько я знаю).
Что касается веб-сервера...может проглядел?  ???

Так кто решится написать наиболее маленький код веб-сервера?


„Именно в интуиции нам является сущность бытия как мировая воля, как единое метафизическое начало мира, которое раскрывает себя в многообразии случайных проявлений“

#17 true

true

    Небожитель

  • Небожитель
  • PipPipPipPipPipPip
  • 11 667 сообщений

Отправлено 24.11.2004, 08:17

И ещё.
Слабо на Delphi сделать маленький web-сервер, чтобы запрошенный контент просто отдавал? Ещё одно условие: устойчивый против DoS - неконтролируемого множественного подключения.

дык там sample есть простейшего сервера  :D
сиди и правь. как делается антилич думаю смекнешь

Хде?
(В Delphi есть чат обрезанный до мозжечка (я его давно переделал для мультиклиентского). И ещё там есть Web-браузер (на компоненте) - насколько я знаю).
Что касается веб-сервера...может проглядел?  ???

Так кто решится написать наиболее маленький код веб-сервера?

может проглядел, может я вру

помню видел код одного сервера на дельфи как раз, программера заставили на какому то заводе саранска его писать. я долго чесал голову зачем?  :)

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

#18 2TFighter

2TFighter

    Старожил

  • Житель
  • 463 сообщений

Отправлено 24.11.2004, 09:55

И ещё.
Слабо на Delphi сделать маленький web-сервер, чтобы запрошенный контент просто отдавал? Ещё одно условие: устойчивый против DoS - неконтролируемого множественного подключения.

дык там sample есть простейшего сервера  :D
сиди и правь. как делается антилич думаю смекнешь

Хде?
(В Delphi есть чат обрезанный до мозжечка (я его давно переделал для мультиклиентского). И ещё там есть Web-браузер (на компоненте) - насколько я знаю).
Что касается веб-сервера...может проглядел?  ???

Так кто решится написать наиболее маленький код веб-сервера?

Без _ЕДИНОЙ_ строки кода устроит?
I am one million kilometers from the star's corona... I should reach it in approximately three minutes
Изображение

#19 Гость_MindKiller_*

Гость_MindKiller_*
  • Гость

Отправлено 24.11.2004, 11:40

hint: Indy

#20 2TFighter

2TFighter

    Старожил

  • Житель
  • 463 сообщений

Отправлено 24.11.2004, 11:56

hint: Indy

Еще hint: torry.net :)
I am one million kilometers from the star's corona... I should reach it in approximately three minutes
Изображение




Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 скрытых пользователей