We are now building the site & language tools (need help). naturally
we'd like to know how good the language is Google told us " Expert
hackers can tell a good language when they see one".
http://www.paulgraham.com/popular.html
So,... if hackers are present:
1) What languages are better than t3d?
2) Any chances for t3d to become a hacker language
Ok, if you answer to those, we will give you an answer of how a
certain (any!) single programming task can be done with one / few t3d
function calls. I you anyhow can, avoid asking GUI related questions
at the beginning. GUI is equally doable, but requires more explaining.
If our answers to U are deeply satisfying - join our mission. (Need a
good reason? How about; chances for getting a chick, may increase
exponentially if you can say to code for
http://www.tele3d.com/ChOS/charity-orgs.htm )
Primary documentation to t3d (fits into one A4 paper (using both
sides) http://www.tele3d.com/t3d/primary.htm (Same text is also on
the last two pages of the ChOS license
http://www.t3d.org/ChOS/ChOS_beta1.zip ).
t3d programming environment:
http://www.tele3d.com/t3d/language.htm
Example functions:
http://www.tele3d.com/t3d/functions.htm
Thanks
Juuso Hukkanen and Markku Sukanen
(to reply by e-mail set addresses month and year to correct)
"t3d programming language" and the structure of t3d function prototype
are trademarks of Juuso Hukkanen.
...why?
show me how its better and easier than perl. Even one example.
... especially since t3d is likely to be pronounced as "turd"
--
pete
big question - few answers
I originally tried to organize my C code collection so that I could
later find them easily
- Sound codes
- Arrays X dim
- Random
- Window
- Crypto
etc.
Then more organizing and (accidently) after inserting some verbs into
folders, I realized that I could locate any piece of code within the
collection, AND also noticed that there no longer was a need to know
what codes I had, because I'd have 'it' , I would know exatly in which
folders it could be located. Then the next though was that I every one
had a similar tool collection uniformly created, everyone would know
the name of the code piece would be and how to use it.
Ok, it was obviously a programming language - with a slogan "one codes
once". I realized that it would be valuable, contacted couple of
companies ( new language easy powerful - NDA needed - >no NDA no
show). But while waiting those boneheads to answer thougth, damn I
give it to charity they get money I get chicks / wife. Community gets
the most powerfull programmign language ever:
( to skip hype - flaming following is an already working 'standard'
piece of t3d (gene / function + aliases)
t3d_find_file_Rfile_SUDOKU_n_SOLUTION
t3d_find_file_Rfile_SOLUTION_n_SUDOKU
t3d_calculate_file_Rfile_SUDOKU_n_SOLUTION
t3d_calcule_file_Rfile_SOLUTION_n_SUDOKU
t3d_create_file_Rfile_SUDOKU_n_SOLUTION
t3d_create_file_Rfile_SOLUTION_n_SUDOKU
(sama are also for US game name "NUMBER PLACE"))
t3d_räkna_fil_Rfil_LÖSNING_n_SUDOKU
etc. etc.
(same also for using Finnish language
t3d_laske_file_Rfile_RATKAISU_n_SUDOKU
All call ultimately refer the same function, all read a user given
file and try to solve the Japanese puzzle named sudoku.
C'mon how many programing languages have tools for every imaginable
task. Tool which anyone can learn to use within an hour of training
using anyof teh worlds written languages. Provide me a single task and
I tell U how it is to be done using the t3d.- fair enoug?
Back to original question" Google told us: Expert
hackers can tell a good language when they see one"... well?
Juuso Hukkanen
>
>show me how its better and easier than perl. Even one example.
t3d_find_file_Rfile_SUDOKU_n_SOLUTION
(see my previous answer)
t3d_convert_file_Rfile_2SWEDISH
t3d_crypto_file_Rfile_STEGANOGRAPHY_n_2IMAGE
t3d_crypto_file_Rfile_ENCRYPT_n_#encmethod_PASSWORDXXX
(#encmethod is eg. one of: AES256, BLOWFISH, TWOFISH, 3DES)
t3d_crypto_barray_Rbarray_DECRYPT_n_#encmethod_PASSWORDXXX
(#encmethod is eg. one of: AES256, BLOWFISH, TWOFISH, 3DES)
t3d_create_PING_IPXXX
t3d_create_SYSTEM_n_SHUTDOWN
t3d_environment_SHUTDOWN
t3denvironment_SYSTEM_SHUTDOWN
t3d_ai_file_Rfile_CRYPTOANALYSE_SECONDSXXX
t3d_crypto_file_Rfile_CRYPTOANALYSE_SECONDSXXX
Those and thousands of other t3d genes (functions and their aliases)
also work using any of the worlds written language.
Ok, How does Perl do that?
Are you going to give me a programming related task which I will try
to solve using standard t3d http://www.tele3d.com/t3d/primary.htm
Do you have something to say about the original topic " Expert hackers
can tell a good language when they see one" ? So,... do you see
quality - why would U not join?
Juuso Hukkanen
> New programming language t3d;
> - Ultra easy to learn (documentations is 2 pages)
> - Yet it may be the most powerful programming language
> - Language donated to charity orgs with a special license ChOS
> (Charity open source)
1. What is it good for.
2. Is it OO.
3. How is it better than Java or C++ or C#.
Who cares, im in AMERICA! All I care about is English???
The rest is just fat.
>
> Are you going to give me a programming related task which I will try
> to solve using standard t3d http://www.tele3d.com/t3d/primary.htm
Dont waste your time impressing me.
>
> Do you have something to say about the original topic " Expert hackers
> can tell a good language when they see one" ? So,... do you see
> quality - why would U not join?
Learning a new language takes a lot of time.
>
>
> Juuso Hukkanen
> (to reply by e-mail set addresses month and year to correct)
> "t3d programming language" and the structure of t3d function
> prototype are trademarks of Juuso Hukkanen.
Too much too fast....
Damn man,,,,relax.
I love perl, you got something better that would be awesome. But ive heard
the same arguments with java? And after throwing the second java book up
againt the wall I realized it was junk.
And that original topic shit? WTF? How the hell do I know the topic
changed?
You showed me a bunch of crap. I can type "shutdown -r now" in bash, does
that make it easy or useful as a programming language...well yes actually,
but thats beside the point.
Shit man visual basic has one line calls like that also, I went ahead and
finished the second book, but havnt used it since, I used perl instead.
Nothings quicker than perl and as powerful at the same time that ive seen
in depth so far. For networking, and text processing perl is king. Need
graphics and gui's, just use web page creation, but most of us dont program
graphics user interface crap.
I did like the way it converted to swedish, Ive needed a one liner for that
ever since i watched the sound of music.
OUR PROGRAMMING LANGUAGE CAN CONVERT ANY LANGUAGE INSTANTLY.(System
requirements, pentium7 10 gightz, and at least 400gig of hardrive space, and
the book war and peace to read while your compiling your "hello world"
program.)
It's got a sucky name. Im serious. Java became famous from the name, the
language itself sucks. t3d sucks.
Not happy with perl, kind of a chicks name, python is a cool name. Ruby is
ok.
C++ is cool if you know why its called that.
DWIM does everything I ask it do. It just "does what I mean".
Where are Teh Worlds? And what is this Anyof written language?
--
Mabden
> I did like the way it converted to swedish, Ive needed a one liner for
> that ever since i watched the sound of music.
bwahahahahahahaha
--
ThePsyko
Public Enemy #7
http://prozac.iscool.net
Oh man, with any decent C++ IDE you could do something like #include
"huge_header_of_generally_useless_crap.h", and then use
intellisense-like IDE feature to construct things like this:
MyGreatNameSpace::<wait here untill list of classes appears under
cursor>MyGreatClass obj = MyGreatNameSpace::<wait>MyGreatClass.<wait
for static Create() or something>Create(<wait for argument list><type
argument list>); obj-><wait for list of methods>MethodName(<wait><type
argument list>);
...well, that's the way the world is doing it in C++. in C#, it's even
better, you mostly type dots instead of "::" and "->" all the time.
It's quite convenient, really. No need to prove the world that Visual
Studio is written by idiots, because it's not.
> Ok, it was obviously a programming language - with a slogan "one codes
> once". I realized that it would be valuable, contacted couple of
> companies ( new language easy powerful - NDA needed - >no NDA no
> show). But while waiting those boneheads to answer thougth, damn I
> give it to charity they get money I get chicks / wife. Community gets
> the most powerfull programmign language ever
Well, I don't think you can actually call it language. Your idea to map
file path to token is somewhat interesting, but in C++ I can achieve
same effect with a few tricky #define-s, and, I guess, I can actually
do even more. But the thing is that I never need it (see above why).
Also, if my libraries would ever need to be relocated, I would loose
all my code, which is not a good thing to happen.
> Back to original question" Google told us: Expert
> hackers can tell a good language when they see one"... well?
I'm not "expert hacker", I'm just professional coder with few years of
experience, but, trust me, you've gotta learn existing stuff real
limits before try to step out.
Regards.
C.
What, didn't you read it?
"How about; chances for getting a chick, may increase
exponentially if you can say to code for
http://www.tele3d.com/ChOS/charity-orgs.htm"
--
Pull out a splinter to reply.
Sorry, I thought that was a joke. Can't imagine how it was supposed to
work out.
One codes once; check last example. Once a piece of code is in the
genome everyone else who suddenly need to use
- know how it should be used
- how the piece of code would be named if it existed
>2. Is it OO.
Yes and no:
a) t3d is C99 based, thus not OO by nature, but each t3d gene is
callable extern C thus insertable into OO C++
b) some of t3d's standard datatypes e.g. barray (byte array) are
'under the hood' struct-arrays with a plenty of adjustable properties,
dealing with those group properties is in some sense OO. BUT the
end-coder does not have to look things "under the hood"; for doing the
OO thing.
c) t3d functions have enough power, to make OO purposeless. With
enough logic power no OO is needed.
d) t3d function prototype works similarly also on many non C based
languages which may be are OO (those called for x3d - dialects).
>3. How is it better than Java or C++ or C#.
t3d, functions can do powerful things and the user has zero learning
curve for new tools i.e. once uses learns the basic (0.5-1 hour) he
can use all the stuff fluently. Quick demo, no terror checking but
otherwise complete.
/**************CUT**********
* No headers needed!
* pre-pre-procesor fixes
* them ready befere GCC
*/
int main(void)
{
unsigned char *text1 = NULL;
unsigned char *text2 = NULL;
FILE *filetto;
t3d_convert_2BARRAY(text1);
t3d_convert_2BARRAY(text2);
t3d_read_url_Rbarray("http://www.cnn.com",text1);
t3d_find_barray_Rbarray_HTML_n_HEADERS_ONLY(text1,text2);
t3d_convert_barray_Rfile_HTML2TEXT(text2,filetto);
/* default sound format wav 16bit Stereo 22,050kHz*/
t3d_convert_file_Rfile_TEXT2SPEECH(filetto,"speech.wav");
t3d_add_SPEAKER_VOLUME_n_2MAX(void);
t3d_write_file_SPEAKERS(filetto);
return(0);
}
/**************CUT***********/
If the playing the news headers through speakers would magically
become popular someone could include a shortcut to previous function
into t3d-genome (collection of all codes).
int main(void)
{
t3d_write_url_NEWS_HEADERS_n_2SPEAKERS("www.cnn.com");
return(0);
}
and because t3d is suitable for application, shell scripting and web
programming the casual user could call it from the shell:
t3d 't3d_write_url_NEWS_HEADERS_n_2SPEAKERS("www.cnn.com");'
--> which would lead t3d executable (wrapper) to
1) notices it's a script and
2) pre-pre-process it (inserts into empty main function etc.)
3) gives it to GCC
4) after compiling forks/shell executes the made exe
I always thought that hackers love this kind of stuff; one liners
which move heavy machinery?
Just admit to be a little bit impressed over some stuff.
Still waiting for that lang judgement: "Expert hackers can tell a good
language when they see one" Any hackers present, who can see any good
stuff in this?
And still waiting for someone to suggest a single comp task; to do
with one/few lines of t3d as ruled by
http://www.tele3d.com/t3d/primary.htm
C'mon I have done well in showing how this stuff works. Maybe U now
want to show simply similar stuff is done with Perl/ Java/ C++/ C# or
others.
t3d_convert_file_Rfile_2SWEDISH
t3d 't3d_write_url_NEWS_HEADERS_n_2SPEAKERS("www.cnn.com");'
Regards
Juuso Hukkanen
t3d has C99 except it's avaid using thisd / never use this stuff.
compiler is GCC.
> /**************CUT**********
> * No headers needed!
> * pre-pre-procesor fixes
> * them ready befere GCC
> */
>
> int main(void)
> {
> unsigned char *text1 = NULL;
> unsigned char *text2 = NULL;
> FILE *filetto;
> t3d_convert_2BARRAY(text1);
> t3d_convert_2BARRAY(text2);
>
> t3d_read_url_Rbarray("http://www.cnn.com",text1);
> t3d_find_barray_Rbarray_HTML_n_HEADERS_ONLY(text1,text2);
> t3d_convert_barray_Rfile_HTML2TEXT(text2,filetto);
> /* default sound format wav 16bit Stereo 22,050kHz*/
> t3d_convert_file_Rfile_TEXT2SPEECH(filetto,"speech.wav");
> t3d_add_SPEAKER_VOLUME_n_2MAX(void);
> t3d_write_file_SPEAKERS(filetto);
> return(0);
> }
>
You have written a library for C.
Have a cookie.
No, it is something else.
1. t3d contains almost all of C , some obsolete C stuff has been
removed (scanf %s, gets etc.) -> C folks would not accept that as C
anymore.
2. t3d has its own strictly defined datatypes e.g. byte is exactly 8
bits and not like C:s about 8 bits
3. t3d's array based datatypes (barray, iarray) have well defined
boundaries and fields for various kinds of info size, type, are there
(word) delimiters between word fields. Also some more fields are to be
used in debug mode, creator function, time of creation.
4. t3d defines clear debug modes which force most builds to be
different.
5. t3d used by default an Boehm's garbage collector
http://www.hpl.hp.com/personal/Hans_Boehm/gc/ ,
while C collects errors within dynamic memory allocation / freeing
6. C hardly knows any environment ( except file) , no networking , no
GUI, no devices, no filetypes, no database support all those issues
are offtopic with C, whilst t3d has no offtopic areas within those.
7. t3d has a build-in modern easy to use GUI, even though it might
have to be borrowed from java or from other third party (tools).
see: http://www.t3d.org/pages/GUI-communication.htm
Anyway that borrowed GUI will be used with same kind simple t3d
commands as other t3d code:
unsigned char *my-window = NULL;
t3d_convert_2GTABLE(my-window);
t3d_create_Rgtable (my-window);
t3d_add_Rgtable_BUTTON_n_MINIMIZE();
t3d_add_Rgtable_BUTTON_n_MAXIMIZE();
t3d_add_Rgtable_BUTTON_n_CLOSE();
8. t3d also works as shell script language and as a PHP like web
programming tool. apache throws scripts (t3d compiles into executables
and runs).
9. t3d has an uniform command syntax and function behavior - all t3d
functions return 'long long' - in yes / no answer functions
t3d_measure_dirpath_EXIST(" ")
0 is always NO
1 is always YES
10. C contains (the little) what std. committee wants. t3d is to
contain all the stuff which the users want it to contain. t3d code
collection (genome) is to become) semi-automatically updated /
assimilated; to fulfill the one codes once - philosophy thing.
11. C functions / macros have one name t3d genes ( callable function
etc.) can have hundreds of alias names. Any legal formulation of a
function name, which does helps the user to do tasks, is ok. ( Based
on computer slang, local languages, user laziness. even common typos
may result creation of an alias name).
12. C expects user to be a interested in remembering all kinds of
unnecessary things about which headers contain what or order of
parameters into. Besides C treats users badly.
13. t3d contains more advanced datatyped than C. Bignum is obvious but
the t3d's table datatype is much like an SQL table.
Ok, Bjarne originally named C++ as "C with Classes". If I'd make some
similar naming that would be "C with logical language and all stuff".
C'mon that is more than
>You have written a library for C.
admit U liked that...
On Sat, 8 Oct 2005, Juuso Hukkanen wrote:
> On Fri, 07 Oct 2005 15:46:25 -0700, Scott Moore wrote:
>>
>> You have written a library for C.
>
> No, it is something else.
No, it really isn't something else. (BTW, my studied opinion is that
Juuso doesn't know the first thing about programming, but has a "license
agreement" he'd like to promulgate and therefore needs some kind of
vaporware to attach it to. See the website. Thus, I don't think it's
productive to argue the merits of T3D with him.)
T3D, as you've described it, is a C preprocessor and linter coupled
with a large and disorganized function library. It has the added
disadvantage of not being portable to very many kinds of systems.
T3D is vaporware. This means that it does not exist, and will probably
never exist --- certainly you haven't shown any programming ability or
knowledge of compiler or language design. All you've shown is the ability
to string English words together with underscores and pretend that those
strings are the names of magic functions. I can do that too:
Mr_Rabbit.would_you_like_more_tea()
Yes->please;
Why.thank-you(Mr_Duck);
It means absolutely nothing unless you can use it to do useful things.
[...]
> 9. t3d has an uniform command syntax and function behavior - all t3d
> functions return 'long long' - in yes / no answer functions
> t3d_measure_dirpath_EXIST(" ")
> 0 is always NO
> 1 is always YES
This is up to the person who implements T3D functions. Besides, numeric
error codes are /so/ 1995! The convention is fine for C and C-based
languages, but new languages shouldn't encourage it.
-Arthur
> Besides C treats users badly.
Don't turn your own failure as a programmer into C's failure as a
language.
>Did you read my reply, sir?
>http://www.google.com/search?num=50&hl=en&lr=&safe=off&q=code+autocompletion
Yes, U made very good points, and I should / could have put parts of
previous answer (to Scott) to reply to you.
You said:
>>>Oh man, with any decent C++ IDE you could do something like #include
>>>"huge_header_of_generally_useless_crap.h", and then use
>>>intellisense-like IDE feature to construct things...
<snip>
Right, Thank you you for getting the idea exactly right ! t3d
pre-pre-processor ultimately includes one header file t3d.h which is
parsed to contain all the prototypes & includes & '#pragma comment
libs' for all the functions, which the users source will need. That
mechanism also works for C std. includes i.e. if user uses atoi()
t3d.h will contain stdlib.h include. Thus user isn't required to
remember what function is included where.
>> Besides C treats users badly.
>Don't turn your own failure as a programmer into C's failure as a
>language.
I like C a lot. however "C treats users badly" means for example the
things like
1) why user must write those includes. We were easily able to make all
the required includes to become automatically included, why can't C
standard committee allow/do the same.
---->some could call that ignorance
2) C contains dangerous traps just for hurting the beginners ; for
example that gets() - why is it there. And all those unterminated char
array manipulation functions.
----> C Having those frequently failing 'strings' and not
introducing safer alternatives could be called mean.
String safety could be easily increased by e.g. wrapping those char
arrays into structures http://www.idinews.com/string.html
(we made those kind of things int t3d strings barrays, iarrays etc;
also with some extra fields.)
3) Many C functions follow no logic, and return values were probably
designed by rand(); Some C functions return 0,1 or non-zero or NULL as
an indication of a success or failure or error.
>>>Well, I don't think you can actually call it language.
Well, my previous post was about this. better slogan would be
"C with natural language and all stuff".
Did U try to learn the (2 page) t3d prototype syntax yet? I am sure
you would then see an additional point with being able to use
correctly any function without even knowing beforehand that it would
exist or what it's name would be.
http://www.tele3d.com/t3d/primary.htm
SVN to codes:
http://www.tele3d.com/t3d/subversion.htm
> 2) C contains dangerous traps just for hurting the beginners...
> ----> C Having those frequently failing 'strings' and not
> introducing safer alternatives could be called mean.
for safer alternatives, look at C# :)
> 3) Many C functions follow no logic, and return values were probably
> designed by rand(); Some C functions return 0,1 or non-zero or NULL as
> an indication of a success or failure or error.
yeah, well, guess what, that's because many people were involved.
>Juuso Hukkanen wrote:
>> 1) why user must write those includes. We were easily able to make all
>> the required includes to become automatically included, why can't C
>> standard committee allow/do the same.
>others call it an effort to minimize building time. do you know where
>"nightly build" is coming from? because even if you include only
>necessary stuff, some software takes all night to build. even if it
>takes 2 minutes instead of 5, if I re-compile my stuff 100 times a day,
>it would save me 300 minutes of pointless screen-staring.
Pre-pre-processor only includes necessary stuff and it eliminates all
other items very fast. Should not take more than 1-2 extra seconds on
an average software projects. How ?
1) well, we list all source files in users project then
2) scan function names from those files
We have a huge (dictionary kind of) sorted list of
all the functions and function alias names.
3) Then function names are fread’ed into memory
4) finally some binary searching; even from a file with 1,000,000
function / alias names, it takes 20 jumps to find & collect a correct
include (with correct includes) to any user given function.
Details in sources:
http://tele3d.com/t3d/subversion.htm
(It is like a spell checker; got that idea from a programming language
shootout which checked existence of all words in a 350 kB dictionary
file against a similar 350 kB dictionaly file in less than 0.8 seconds
http://66.249.93.104/search?q=cache:wzJO2qrnVq8J:www.bagley.org/~doug/shootout/bench/spellcheck/+doug+shootout+programming+%22spell+checker%22&hl=fi
)
Ok, the issue would be much easier, if I’d just say:
We have and are developing a punch of utilities which can be used in C
or C++ programs. Tools include GUI, garbage collection and a certain
logic which enables logical programming even based on user’s native
language.
Hey, that gave me an idea, there are NGs like #comp.ai.nat-lang and
#comp.lang.functional I go and harass them about the usefulness of
this 2 page language / dialect thing.
Thanks Makc & other hackers
Taken from the web site:
If( t3d_environment_IS_TOYOTA_n_LEXUS)
{
t3d_open_ROOF_WINDOW();
}
else
{
t3d_write_CONSOLE("Not a Toyota LEXUS");
}
... this gonna be in your standard library?
But I think I understand this programming language! If I want to create a
game, I'd write:
do
{
t3d_start_game_DOOM4 (ENVIRONMENT_USE_1600X1280);
t3d_show_score();
} while (t3d_environment_IS_NOT_PRESSED_YET(QUIT_BUTTON));
with the added bonus that the last line can also read:
... }while (t3d_environment_???_???_????????_?????(QUIT_BUTTON));
... and then bother someone else to write the huge library function
't3d_start_game_DOOM4' for me!
> (It is like a spell checker; got that idea from a programming language
> shootout which checked existence of all words in a 350 kB dictionary
> file against a similar 350 kB dictionaly file in less than 0.8 seconds
> http://66.249.93.104/search?q=cache:wzJO2qrnVq8J:www.bagley.org/~doug/shootout/bench/spellcheck/+doug+shootout+programming+%22spell+checker%22&hl=fi
I fail to see t3d in this list. Maybe because it took longer than 23.57 sec
to run? Dropped entirely out of the list? <grin>
> Hey, that gave me an idea, there are NGs like #comp.ai.nat-lang and
> #comp.lang.functional I go and harass them about the usefulness of
> this 2 page language / dialect thing.
Please do.
[jongware]
--Not counting myself as a hacker, BTW. Just a programmer.
Barely.
> with the added bonus that the last line can also read:
> ... }while (t3d_environment_???_???_????????_?????(QUIT_BUTTON));
Aw, lost a joke there! OK, let's try
... }while (t3d_environment_NON_E_PREMUTO_ANCORA(QUIT_BUTTON));
The original line was in Greek -- now I'll never know if it's possible!
[jw]
>> We have a huge (dictionary kind of) sorted list of
>> all the functions and function alias names.
That was describing / showing how the compiling process is done so
that all unwanted headers are quickly eliminated. That list can
contain an viruslly unlimited amount of uniformally structured
functions.
The strengt of that function protoype structure is that is very
expressive and easy to learn - AND if a punch of coders use that, they
all would know how the fellow coder would name the functions if that
existed. Thus t3d allows you to use fucntions made be others and you
instanly also know what that function would do. t3d function
prototype leraves very few alternatives(room for error); a helpful
(function name) spell checing IDE and given alias names alloy you to
quicly "guess" the real name of the function.
Well think about alternatives with other languages. e.g C standard
committee has given you a hundred or so named functions which they
promise always do the thing which you expect them to do.
t3d can gives you a virtually unlimited number of easy to use
functions.
>Taken from the web site:
>If( t3d_environment_IS_TOYOTA_n_LEXUS)
>{
> t3d_open_ROOF_WINDOW();
>}
>else
>{
> t3d_write_CONSOLE("Not a Toyota LEXUS");
>}
>
>... this gonna be in your standard library?
>But I think I understand this programming language! If I want to create a
>game, I'd write:
Almost but not quite. That Toyota example was for demonstrating a
principle of t3d not being limited overly simple tasks, or
environments. But if one has written a function which would open a car
roof window, that function would be called like that.
There are a few hundred much more realistic (doable) functions listed
in: http://www.tele3d.com/t3d/more_funcs.txt
for example:
t3d_convert_file_Rfile_OGG2WAV
and
t3d_convert_file_Rfile_WAV2OGG_BITRATEXXX
and
t3d_convert_byte_barray_Rbarray_2BASE
and
t3d_convert_file_Rfile_COMPRESS_n_ZLIB
and
t3d_measure_dirpath_SIZE
and
t3d_measure_file_IS_ACCESS_n_READ
and
t3d_remove_Rbarray_FIRST_n_WORD
You probably understand directly what thos functions do- don't you?
and you could probably code each of those functions but making some of
those would take a lot of time.
What if I'd say that I have those functions and like to share those
with you. Of cause you would not need those now, but who knows once
you need to convert music files, perhaps you'd like to to the
conversion by just adding a single command to your C / C++ code.
>do
>{
>t3d_start_game_DOOM4 (ENVIRONMENT_USE_1600X1280);
>t3d_show_score();
>} while (t3d_environment_IS_NOT_PRESSED_YET(QUIT_BUTTON));
>
>with the added bonus that the last line can also read:
>... }while (t3d_environment_???_???_????????_?????(QUIT_BUTTON));
No, no, no: t3d function naming in nutshell:
1) think what you want to do - formulate an easy sentence about it
e.g. I like to "(main-verb)aaa the (datatype) bbb and I'd like to have
the result written in to (object)Rccc, in addition I want the aaa to
be performed (adverb1)THIS_WAY1 and (adverb2)THIS_WAY2
For example if you want to add a number 5 to the end of a file, your
sentence would be
I would like to "add_int_Rfile_APPEND"
or
I would like to "add_int_Rfile_2END"
or
I would like to "write_int_Rfile_ADD"
or
I would like to "write_int_Rfile_APPEND"
or
I would like to "write_int_Rfile_2END"
Easy and that only lacking the lang sign t3d e.g. prototype.
long long t3d_add_int_Rfile_APPEND(int num);
***********************************************************
The ONLY t3d main-verbs (in english) are:
add, ai, calculate, close, convert, create, crypto, environment, find,
measure, move, open, read, remove and write
***********************************************************
so you can't use show or start, but would need to logically thing the
nearest alternative e.g. for "show" it is likely "write" and for
"start" it is likely "open" OR "environment" in combination with a
world START or BEGIN or PLAY. e.g.
t3d_environment_DOOM4_n_START
(+some alias names as shown above)
to show the score (in some fui window you write
t3d_write_long_Rgobject_Rgtable
***********************************************************
The ONLY t3d datatypes are:
byte,wbyte,int,long,double,bignum,barray,warray,iarray,larray,darray,bigarray,time,table,url,file,dirpath,gtable,gobject,process
***********************************************************
so the word game must be replaced with something which is closest to
it, how about "file" or "process"
For changing the screen resolution
You will likely be able to use commands
function prototypes first measuring:
long long t3d_measure_Rint_SCREEN_RESOLUTION_n_VERTICAL( int
vertical);
for horizontal:
long long t3d_measure_Rint_SCREEN_RESOLUTION_n_HORIZONTAL( int
horizontal);
Then changing the rezolution:
if ((vertical != 1280) && (horizontal != 1600)
t3d_environment_SCREEN_RESOLUTION_VERTICALXXX_HORIZONTALXXX("1280,1600");
last example uses X parameter for inputting the data, use of X
parameters is show at the end of that (2 pages) of t3d primary
documentation. Ok I attach it to the end of this post so it can be
used as a unchangeable reference material.
>
>[jongware]
>--Not counting myself as a hacker, BTW. Just a programmer.
>Barely.
>
Thank you for trying Jongware. I know it is hard to accept radical new
things. I am sure that you can now understand the principle
construction of the t3d function right. If you still dont believe the
t3d is the easiest most powerful language ask me how a certain thing
would be doable using t3d & according to lang ref below
Regards
Juuso Hukkanen
(to reply by e-mail set addresses month and year to correct)
"t3d programming language" and the structure of t3d function prototype
are trademarks of Juuso Hukkanen.
--
The t3d programming language (rererence for browserless):
1. t3d programming language includes C programming language (C99),
except its famous "avoid-using-this-functions".
2. t3d programming language adds to C modernization in terms of;
(a) support for environmental things,(b) use of libraries and external
utilities, (c) its evolutive development by the community, (d) safe
strings, (e) garbage collection, (f) networking, (g) improved datatype
definitions, (h) GUI, (i) multi-threading, (j) support for handling
standardized file types, (k) the use of t3d function prototype, (l)
t3d can be used in applications, (m) scripts and (n) web-programming.
But anyway most C is also t3d and most of t3d is also C.
3. At the beginning GCC can be used as t3d compiler.Portability is
to be achieved with the #ifdef - #elseif preprocessor defines. C++
support is to be obtained with the use of "extern C" definitions.
The structure of t3d function prototype
***********************************************************
langsign_mainverb_aaaaaa_bbbbbb_cccccc_dddddd_Reeeeee_
ADJECTIVE_PART1_n_ADJECTIVE_PART2_ARG1XXX_ARG2XXX_ARG3XXX
***********************************************************
1. Almost all t3d - functions are expected to have many alias names
(even hundreds). The user is expected and required to find one of
suitable aliases, using logic and the help of IDE editor, personal
memory / routine or a function /internet search engine or native
language.
2. t3d is not a rigid language. Any legal formulation of a function
name, which does helps the user to do tasks, is ok.
3. t3d programming can be performed using most of the worlds
written languages. Stable translations are to be used for reserved
datatype words and main verbs within each language. t3d function names
can be written using Unicode.
4. When t3d-structurated function prototypes are to be used within
other languages than t3d, the use of t3d function prototypes may
require using some additional input parameters.
5. t3d programming language and the structure of t3d function
prototype are trademarks of Juuso Hukkanen. Fair use of both
trademarks is allowed within all programs which are licensed using
Charity Open Source License.
Training examples 1
What does:
1. t3d_measure_barray_LENGTH
2. t3d_convert_file_Rfile_GSM2WAV
3. t3d_convert_Rfile_READ_ONLY
4. t3d_calculate_iarray_Rdouble_STD_DEVIATION
5. t3d_add_byte_Rbarray_RANDOM_n_END
6. t3d_environment_barray_SET_KEYBOARD_n_LANGUAGE
Training examples 2
How to:
1. Change the text contents of a text file to uppercase (English
text)
2. Compress a file using RLE compression algorithm and put the
compressed content to an another file
3. Change a file format from JPG to GIF
4. Check if a number 234524 is a prime number
5. Calculate how many times a word "hello" occurs in a file
independently of the case of letters
6. Check whether a given text string contains a valid internet
domain name
Return value:
All t3d functions only return a 64bit signed integer number. All
negative return values indicate errors each with respective error
numbers. A returned zero means zero, all returned positive values do
mean a meaningful correctly calculated numeric answer. In function
which answers to yes/no kind of questions returned 0 = NO and 1 = YES.
Language identifier (langsign):
It is possible to implement t3d programming within programs written
using many other programming languages; such as C , C++, PHP, Pascal,
Python, Lisp, Cobol, Perl etc. The language identifier (langsign) is
used in identifying the host programming language used inside the t3d
structured function. The function contents must naturally be written
using a particular host language, but one t3d structured function
written with Ada should perform the same task as a similarly (except
the langsign) named with host language PHP. Examples of used language
identifiers: t3d => t3d, C (also C++) => c3d, Pascal => p3d, PHP =>
ph3d, Lisp =>l3d, COBOL => CO3d, Ada => a3d, Perl => pe3d
Main verb (mainverb):
There are 15 main verbs in t3d language. The mainverb defines the main
category of action which the function will perform. Possible mainverbs
are: add, ai, calculate, close, convert, create, crypto, environment,
find, measure, move, open, read, remove and write.
Inputting (datatype) elements-part (aaaaaa_bbbbbb_cccccc_dddddd):
Each of the six letter strings (a-d) represents a data-parameter (of a
certain datatype), which carries a parameter into the function. Order
of inputting parameters is decided (in priority order) as follows (1)
obvious direction <=> param1 goes-to param2, (2) age <=>
first_young_param then_old_param, (3) size <=>
first_smaller_data(type) then_bigger_data(type), (4) alphabetical
order (aaa_param before bbb_param). There are 20 different datatypes
in t3d; byte, wbyte, int, long, double, bignum, barray, warray,
iarray, larray, darray, bigarray, time, table, url, file, dirpath,
gtable, gobject. Each datatype can carry different kind of data to /
from function.
Datatype Descriptions:
Datatype
Description
byte Size 8-bits; can contain values 0-255
wbyte Size 32-bits; can contain Unicode text (UTF-32)
int Size 32 bits; can contain signed integers
long Size 64 bits; can contain signed integers
double Size 64 bits; can contain floating point numbers
bignum Size unlimited. Bignums are barrays containing a number as
text
barray An array consisting of bytes, (optional use of delimiters
included)
warray An array (for Unicode text(UTF-32)) consisting of wbytes (use
of delimiters allowed)
iarray An array consisting of integers (use of delimiters included)
larray An array consisting of longs (use of delimiters included)
darray An array consisting of doubles (use of delimiters included)
bigarray An array consisting of bignums (use of delimiters
included)
time High-resolution floating point presentation of seconds since
Jan 1st year 0 (00:00am)
table Like a SQL- table(rows, columns, headers); any datatype fits
into each cells
url Unique Resource Locator (internet address or any other exact
location)
file A (binary) file, max file length name is 4095 bytes
dirpath Max size 4095 bytes, identifier path to a
directory/folder
gtable GUI-window with build-in menu-tree structures. Carrier of
gobjects
gobject GUI-object (like an unit in CSS);defines appearance
and reflex-reactions of UI-units
process Semi-independent program within a program; can also be
a thread or external program
Result (data from function) - part (Reeeeee):
Also known as the R-parameter. The return value of t3d-functions is
always an integer type number, so when a t3d- function needs to things
to data in other datatypes, the results can not be returned as a
return value. The result field of a function is described by a capital
R. The datatype following the R will contain the result-data which is
returned back from the function. Result data will be written to a
datatype which is first given to a function using pass by reference or
equivalent techniques.
How to do (the main verb) - part
(ADJECTIVE_PART1_n_ADJECTIVE_PART2):
Also known as the n-parameters. As earlier said there are only 15 main
verbs in t3d. The main verbs of t3d do only define the rough action
but when that rough action is fine adjusted with some extra
parameters, the function is able to achieve very precise actions.
There can be max two adjective parts in each t3d structured function.
A character combination _n_ is used in separating the two possible
adjective parts. Words in adjective parts are written using capital
letters. Both adjective parts can contain one main verb action
defining parameter. Each defining parameter is to be expressed using
one or two words separated by underscore-characters. As an example
following are to be considered as legal single defining parameters:
SHARPEN_IMAGE, TRS_ROUTE, USER_SESSION, SPACE_SEPARATED,
EXTRACT_HIDDEN, RAM_AVAILABLE, THIS_USER, CPU, SET, LANGUAGE, LOCAL.
If a defining parameter contains the word "IS" (e.g. IS_VALID) the
function returns a YES or NO answer. There are two exception 'words'
which will not be calculated as a single word, first is "IS" (as a
yes/no question IS_something), a second word not-counted as a word is
"TO" (meaning "to something"). TO is to be always replaced with a
number 2, in order to highlight its special meaning. There may not be
an underscore letter between the number 2 and the other parts of SAME
verb defining parameter. Thus the following are legal single defining
parameters: INT2BARRAY, TEXT2IMAGE, TRANSLATE2, RENAME2, WAV2OGG,
MP32WAV, 2BASE, INT2ROMAN, IS_FILE_ACCESS, IS_SWEDISH The words which
are to be used within the verb defining parameters shall be in their
simplest singular form, but abbreviations which are familiar to most
of the programmers may be used such as INT,AES256,TAB,ID. The
adjective parts are priority arranged; 1) to follow similar order as
used for input datatypes, 2) secondly according to apparent
significance and 3) by alphabetical order. Examples of arranging order
(according to order given by datatypes) FILENAME_n_FIRST, (according
to significance) IS_ACCESS_n_WRITE (According to alphabetical order)
CPU_n_SPEED_MHZ.
Additional parameters a.k.a the X-parameters
(ARG1XXX_ARG2XXX_ARG3XXX):
In some cases the fine-adjustment of defining the main verb is not
enough or the parameters to function are too numerous for creating
easy to use function names. In those cases the X- parameters can be
used in feeding data accurately into the function. The max number of
X- parameters per function is 10. Each individual X-parameter is
identifiable by having XXX at the end. When using the function, the
X-parameters are to be inserted after the R-part (result parameter
outputting data from function). The order of these additional
parameters is the same as they are listed in function prototype. For
example the following are legal X-parameters LEVELXXX, PASSWORDXXX,
WIDTHXXX_HEIGHTXXX, BITXXX,
SENDERXXX_RECIPIENTSXXX_SUBJECTXXX_BODYXXX, PRESSKEYXXX. The inner
mechanism for inputting the X-parameters into functions are like the
typical mechanism for inputting variable arguments (varargs) into
functions. X-parameters should not be utilized using pointer-
references to variables.
Now look again those previously shown training examples.
You mean a IDE like Zeus for Windows:
> you could do something like
> #include "huge_header_of_generally_useless_crap.h", and
> then use intellisense-like IDE features
Zeus uses ctags to do class browsing and intellisensing.
You can even get Zeus to do intellisensing for languages
like c# or Mono:
http://www.zeusedit.com/forum/viewtopic.php?t=185
Note: Zeus is shareware (45 day trial).
Jussi Jumppanen
Author: Zeus for Windows IDE
If someone has written a program that opens a sun window, or opens a
roof aperture, or opens a roof window to x% open, how will it be
called?
- Gerry Quinn
>> That Toyota-example was for demonstrating a principle of t3d
>> not being limited overly simple tasks, or environments.
>> But if one has written a function which would open a car
>> roof window, that function would be called like that.
>If someone has written a program that opens a sun window, or opens a
>roof aperture, or opens a roof window to x% open, how will it be
>called?
A very good question. Of cause there are limits how much data can be
packed into a single sentence.
First, "if" testing was only used allowing an alternative
command-route if the target environment is not supported.
To ventilate your bungalow:
if(t3d_environment_IS_SUN_WINDOW()) /* returns always: yes = 1, no =
0 , ret < 0 = error code */
{
t3d_open_SUN_WINDOW(); /* contains full list of #ifdef
environment-> action choices*/
/* #ifdef MY_BUNGALOW #endif #ifdef
SIBERIAN_DATCHA #endif */
}
else if(t3d_environment_IS_ROOF_APERTURE())
{
t3d_open_ROOF_WINDOW(); /* contains full list of #ifdef
environment-> action choices*/
/* #ifdef LEXUS #endif #ifdef
MY_BUNGALOW #endif */
}
else
{
t3d_write_CONSOLE("environment stinks");
}
Your last question requires a bit different approach. The X-parameter
is used for giving a function additional values; using warargs. Thus
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
if(t3d_environment_IS_ROOF_WINDOW())
{
t3d_open_ROOF_WINDOW_PERCENTAGEXXX("45");
}
else
{
fprintf(stderr,"could not open the roof window by 45
percentages");
}
return(EXIT_SUCCESS);
}
Still in doubt, please send more challenges. Naturally I'd prefer to
answer questions commonly needed in real-life computing tasks, like:
t3d_convert_file_Rfile_HTML2TEXT
t3d_create_BEEP_HZXXX_DURATIONXXX
t3d_measure_file_Rbarray_OWNER
Regards
Juuso Hukkanen
(to reply by e-mail set addresses month and year to correct)
"t3d programming language" and the structure of t3d function prototype
are trademarks of Juuso Hukkanen. Fair use is allowed within all
material which is licensed under the Charity Open Source license
(version 2005 or later). http://www.tele3d.com
[--]
The problem is that all this must have been written beforehand, or it
won't work. You are promoting t3d as having a
t3d_DO_WHAT_I_MEAN() function, but there is no way such a function can
actually be created in advance.
> Your last question requires a bit different approach. The X-parameter
> is used for giving a function additional values; using warargs. Thus
>
> #include<stdio.h>
> #include<stdlib.h>
>
> int main(void)
> {
> if(t3d_environment_IS_ROOF_WINDOW())
> {
> t3d_open_ROOF_WINDOW_PERCENTAGEXXX("45");
> }
> else
> {
> fprintf(stderr,"could not open the roof window by 45
> percentages");
> }
> return(EXIT_SUCCESS);
> }
>
>
> Still in doubt, please send more challenges. Naturally I'd prefer to
> answer questions commonly needed in real-life computing tasks, like:
>
> t3d_convert_file_Rfile_HTML2TEXT
> t3d_create_BEEP_HZXXX_DURATIONXXX
> t3d_measure_file_Rbarray_OWNER
Well, take the second - is that seconds or milliseconds (the two most
common beep time parameters a program might take)?
Also, googling 'beep' gives as first element 'a framework for
application protocols'. Why is the instruction not interpreted in
terms of this framework?
- Gerry Quinn
>The problem is that all this must have been written beforehand, or it
>won't work. You are promoting t3d as having a
>t3d_DO_WHAT_I_MEAN() function, but there is no way such a function can
>actually be created in advance.
True, but the same problem is with any pre made tool, assembler will
newer become the main stream thing (partly) because it lacks ' some'
ready made structures.
System.out.println("Hello World!"); contains mysterious things below
the surface - who knows what those 'things' actually do. Similarly
those things must pre-exist.
>> Still in doubt, please send more challenges. Naturally I'd prefer to
>> answer questions commonly needed in real-life computing tasks, like:
>>
>> t3d_convert_file_Rfile_HTML2TEXT
>> t3d_create_BEEP_HZXXX_DURATIONXXX
>> t3d_measure_file_Rbarray_OWNER
>
>Well, take the second - is that seconds or milliseconds (the two most
>common beep time parameters a program might take)?
WOW, that is 'mostly' a bug. Almost a year ago I did try make a sweep
collection of possible t3d functions which would nicely follow the t3d
prototype syntax. I did't pay much attention into thinking all aspects
of all namings, but at the same time I did define a default /
conversion filetypes and values e.g. I selected SI values as base
units e.g. seconds for time. t3d 'time' datatype is in seconds (SI -
unit) , but given as a high resolution decimal number. Thus calling
the function e.g. would cause :
t3d_create_BEEP_HZXXX_DURATIONXXX("25000","0.020");
25kHz beep with doration of 20 ms
But true the function should be used with clearly interpretable
alias-names:
t3d_create_BEEP_HZXXX_DURATION_SECONDSXXX;
or
t3d_create_BEEP_HZXXX_DURATION_MILLISECONDSXXX;
>
>Also, googling 'beep' gives as first element 'a framework for
>application protocols'. Why is the instruction not interpreted in
>terms of this framework?
>
>- Gerry Quinn
Gerry, I am sure you know that issue and many others much better than
me. After all the t3d is supposed to be used within many fieds of
coding: encryption, image / video manipulation , compression
artificial intelligence. HEEELP I can't know it all :)
> >Also, googling 'beep' gives as first element 'a framework for
> >application protocols'. Why is the instruction not interpreted in
> >terms of this framework?
> Gerry, I am sure you know that issue and many others much better than
> me. After all the t3d is supposed to be used within many fieds of
> coding: encryption, image / video manipulation , compression
> artificial intelligence. HEEELP I can't know it all :)
I know you can't. The point is that your project is essentially based
on the assumption that you can create something that does.
I don't doubt that you could create a system that works in a more
limited way, for example people could type in a description of what
they want into a search engine and come up with a list of t3d functions
with a specified naming and parameter format, and comments (formatted
to a common standard) saying what they do:
t3d_Search: open sun roof lexus
-> t3d_open_SUN_WINDOW() [more?]
-> t3d_general_controls_AUTOMOBILE_LEXUS_MULTIPARAMS() [more?]
-> t3d_open_ROOF_WINDOW_PERCENTAGEXXX() [more?]
-> t3d_turn_OBSERVATORY_ANGLEXXX() [more?]
[First 4 of 181 matches [more like these?]
But that's a far cry from knowing from scratch the name of the
function, which is what you seem to imply it will do. It's a less
ambitious concept, but possibly more achievable.
- Gerry Quinn