Bitcoin Forum
June 26, 2024, 02:19:25 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: Perl  (Read 1994 times)
manbacher (OP)
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
December 18, 2013, 05:16:12 PM
 #1

Никто не пишет на Perl? Как-то непопулярен среди криптовалютчиков он, я смотрю.
Nabu
Full Member
***
Offline Offline

Activity: 143
Merit: 100


View Profile
December 18, 2013, 05:58:02 PM
 #2

Я 10 лет назад писал на этом языке... Думаю он уже мертв.
Или еще есть бородачи ждущие перл6?
manbacher (OP)
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
December 19, 2013, 12:20:08 PM
 #3

Я 10 лет назад писал на этом языке... Думаю он уже мертв.
Или еще есть бородачи ждущие перл6?

Бороды нет (бреюсь регулярно), перл6 не особо жду, пишу на том, что есть перл5. Нащёт мёртв -- это ошибочное мнение, но жужжат про него нынче много меньше, да. Всех на себя оттянул пыхпых. Лан, я понял про местных кодеров.
shark255
Full Member
***
Offline Offline

Activity: 224
Merit: 100



View Profile
December 19, 2013, 01:00:48 PM
 #4

так а разница то какая - мертв не мертв - вечные холивары на тему языка. У каждого языка свое предназначение и плюсы\минусы.
manbacher (OP)
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
December 19, 2013, 01:18:03 PM
 #5

так а разница то какая - мертв не мертв - вечные холивары на тему языка. У каждого языка свое предназначение и плюсы\минусы.

Холивар мне не интересен. Я скорее про средства работы что есть. Модулей Perl-а для работы с биткоином что-то маловато как-то. Поэтому и поинтересовался. Даже рецепт из вики об использовании JSON::RPC::Client уже устарел -- в новой версии модуля эту функциональность перенесли в Legacy. Но обсуждать тут это не с кем, это я понял.
Nabu
Full Member
***
Offline Offline

Activity: 143
Merit: 100


View Profile
December 19, 2013, 02:27:27 PM
 #6

Это и называется - язык мертв. Бросай его.
tvv
Legendary
*
Offline Offline

Activity: 1302
Merit: 1005


View Profile WWW
December 19, 2013, 05:59:17 PM
 #7

Никто не пишет на Perl? Как-то непопулярен среди криптовалютчиков он, я смотрю.

пишут на том к чему привыкли.  И криптовалюты тут нипричем...
manbacher (OP)
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
December 20, 2013, 03:34:54 PM
 #8

Модулей Perl-а для работы с биткоином что-то маловато как-то. Поэтому и поинтересовался. Даже рецепт из вики об использовании JSON::RPC::Client уже устарел -- в новой версии модуля эту функциональность перенесли в Legacy. Но обсуждать тут это не с кем, это я понял.
Наверное потому что весь функционал реализуется очень быстро и просто. Попробуйте через JSON::RPC::Common .

 apt-cache search -- не находится такого в пакетах. а тот, что находится, имеет проблему с тем, что в новой версии модуля перенесли часть ::Client внутрь ::Legacy::Client -- что лично для меня порождает головняк с тем, что на одной машине одно, а на другой другое. Пример интересный, спасибо. Но я решил не парить себе мозг, зачитал спецификации и написал свой модуль:
Code:
package BitcoinRPC;

use strict;
use warnings;
use JSON;
use LWP::UserAgent;
use HTTP::Request::Common;
use Carp;
use Sub::Name;

use vars qw{$AUTOLOAD};

sub new {
        my ($class, @args) = @_;
        my $obj = bless {
                lwp      => LWP::UserAgent->new(agent => 'BitcoinRPC 0.00000001'),
                host     => 'localhost',
                port     => '8332',
                user     => 'bitcoinrpc',
                password => 'bitcoin_password',
                @args
          },
          $class;
        $obj->{url} = "http://$obj->{host}:$obj->{port}/";
        $obj->{lwp}->credentials("$obj->{host}:$obj->{port}", 'jsonrpc', $obj->{user}, $obj->{password})
          if $obj->{lwp}->can("credentials");
        $obj;
}

sub DESTROY { }

sub _call {
        my ($self, $method, $params) = @_;
        my $resp = $self->{lwp}->request(
                POST $self->{url},
                Content_Type => 'application/json',
                Accept       => 'application/json',
                Content      => encode_json({
                                method => $method,
                                params => $params,
                                id     => rand
                        }
                )
        );
        return decode_json($resp->decoded_content) if $resp && $resp->is_success;
        croak "undefined response" if not $resp;
        croak "unsuccessful response: " . $resp->status_line;
}

sub AUTOLOAD {
        my $func = $AUTOLOAD;
        $func =~ s/.*:://;
        no strict 'refs';
        *{$func} = subname "$AUTOLOAD" => eval "sub { \$_[0]->_call('$func', [\@_[1 .. \$#_]]) }";
        goto &$func;
}

1;

параметрами можно передать "lwp" со всеми нужными атрибутами, если необходимо.
mak
Sr. Member
****
Offline Offline

Activity: 337
Merit: 252


Forth


View Profile
December 21, 2013, 11:32:24 AM
 #9

Первому, кто переведет на Perl мою систему даю 0.3333 БЕЦ.

manbacher (OP)
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
December 23, 2013, 09:03:11 PM
 #10

Не парить мозг - не "true-way", ибо всегда есть что совершенствовать.

Я, однако, берусь утверждать, что у меня есть несколько собственных велосипедов, которые заметно удобнее тех, что распространены Smiley
McFist
Newbie
*
Offline Offline

Activity: 2
Merit: 0


View Profile
December 23, 2013, 11:03:48 PM
 #11

Первому, кто переведет на Perl мою систему даю 0.3333 БЕЦ.

я плотно пишу на перл и есть свободное время и все, но ... както 1/3 BTC это совсем оскорбительная сумма .. или это за час работы? Wink
mak
Sr. Member
****
Offline Offline

Activity: 337
Merit: 252


Forth


View Profile
December 24, 2013, 05:53:41 PM
Last edit: December 26, 2013, 07:03:39 PM by mak
 #12

Quote from: McFist
1/3 BTC это совсем оскорбительная сумма .. или это за час работы? Wink

 Три файла gcc (без плюсов) общим объемом 73К байт.
Система на http://93.100.60.208:8980 почему-то лежала.(может ошибка какая)
Прямые ссылки на исходники:
 http://fpauk.narod.ru/fpauk.5.tar.gz - под UBUNTU
 http://fpauk.narod.ru/fpauk.5.zip - под Виндос

 На сколько это трудно перевести на Perl,. не очень представляю.

Ладно, даю 0.8888 БТЦ за исполнение до нового года.

mak
Sr. Member
****
Offline Offline

Activity: 337
Merit: 252


Forth


View Profile
December 26, 2013, 07:03:01 PM
 #13

Quote from: mak
даю 0.8888 БТЦ за исполнение до нового года
До старого нового года.

mak
Sr. Member
****
Offline Offline

Activity: 337
Merit: 252


Forth


View Profile
January 03, 2014, 06:06:08 AM
 #14

Я упустил, что у меня уже 6-я версия.
 http://fpauk.narod.ru/fpauk.6.tar.gz - под UBUNTU
 http://fpauk.narod.ru/fpauk.6.zip - под Виндос
 За перевод на Perl 6-й  версии - даю 0.9999 BTC

Nabu
Full Member
***
Offline Offline

Activity: 143
Merit: 100


View Profile
January 03, 2014, 05:54:47 PM
 #15

Зачем тебе это?
mak
Sr. Member
****
Offline Offline

Activity: 337
Merit: 252


Forth


View Profile
January 04, 2014, 01:55:28 PM
 #16

Quote from: Nabu
Зачем тебе это?
Хочу увидеть как моя система выглядит на Perl. Я это рассматриваю как почин.
В среде рынка полуфабрикатов (который я пытаясь создать) перевод с языка на язык
будет основной работой. Все алгоритмы будут представлены на всех языках программирования.
Рынок полуфабрикатов значительно снизит требование к квалификации программистов. В частности,
можно будет выбрать полуфабрикат для апгрейда на том языке, которым лучше всего владеешь.
Тогда и выяснится какое средство программирования чего стоит на самом деле.

Nabu
Full Member
***
Offline Offline

Activity: 143
Merit: 100


View Profile
January 04, 2014, 03:47:36 PM
 #17

В среде рынка полуфабрикатов (который я пытаясь создать)

Есть фреймворки и просто свалки кода от CPANа до githuba

перевод с языка на язык
будет основной работой. Все алгоритмы будут представлены на всех языках программирования.

Нет в этом никакой не необходимости, т.к. все языки предназначены для решения ограниченного круга задач.
Например, прел хорош для написания системных утилит и потоковой обработки текстов. Но для твоей программы он не подходит, потому что, если допустить, что такая программа нужна, то непременно нужно закладывать возможность развития ее кода. А перл - это write-only язык, развивать что-то написанное на нем сложно.
mak
Sr. Member
****
Offline Offline

Activity: 337
Merit: 252


Forth


View Profile
January 05, 2014, 05:15:21 PM
 #18

Quote from: Nabu
Нет в этом никакой не необходимости, т.к. все языки предназначены для решения ограниченного круга задач.
Зачастую эти предназначения умозрительны. Потом исторически закрепляется.
 
Quote
Например, прел хорош для написания системных утилит и потоковой обработки текстов. Но для твоей программы он не подходит, потому что, если допустить, что такая программа нужна, то непременно нужно закладывать возможность развития ее кода. А перл - это write-only язык, развивать что-то написанное на нем сложно.
Не верю я в существование write-only языков. Если его невозможно читать, то и писать на нем невозможно.
Вот если, до старого нового года  никто ничего не сделает, буду подыскивать другой язык.

Nabu
Full Member
***
Offline Offline

Activity: 143
Merit: 100


View Profile
January 05, 2014, 06:08:30 PM
 #19

Зачастую эти предназначения умозрительны. Потом исторически закрепляется.
Это не так. Если отбросить мелочи вроде принципов компиляции и работы с памятью, то предназначение действительно закрепляется исторически. Но не умозрительно, а благодаря интересу к языку того или иного сообщества. Вот перл раскручивали системные администраторы, никто же не хочет писать ссаную систему бекапов, которую можно просто слепить из какашек взятых из CPANа. Предложи написать кому-нибудь сайт на ансиси, или оконное приложение на питоне - вместе поржете.

Не верю я в существование write-only языков. Если его невозможно читать, то и писать на нем невозможно.
Я занимаюсь этой херней 15 лет и мне на хер не нужно играть в верю\не верю. Я даже обсуждать это с тобой не хочу.
Я просто делюсь опытом, который достался мне дорогой ценой - я платил за него временем.

Вот если, до старого нового года  никто ничего не сделает, буду подыскивать другой язык.
Если чешется учить новый язык - учи хаскель. Он сейчас на подъеме.
Ну если потянешь, конечно...
Nabu
Full Member
***
Offline Offline

Activity: 143
Merit: 100


View Profile
January 05, 2014, 06:15:41 PM
 #20

кстати, вот тебе цитата из этого топика:

Code:
*{$func} = subname "$AUTOLOAD" => eval "sub { \$_[0]->_call('$func', [\@_[1 .. \$#_]]) }";

в ней все и write_only и разница на уровне "компилятора".
Pages: [1] 2 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!