www.digitalmars.com         C & C++   DMDScript  

c++.chat - k / kdb and c++

reply ANUJ GOYAL <ANUJ_member pathlink.com> writes:
Anyone here interested in k / kdb and being able to link with dmc??  

yes, you have to register to get the download but believe me it is a really cool
programming environment and it is bloody fast!  (only about 200KB)

3 files in c:\winnt

http://www.kx.com/download/download.htm

check out their customer list!

http://www.kx.com/customers.htm

the programming language (k) is similar to python, but it much much faster.

the database (kdb) was written in (k) and is 10 to 100 times faster than oracle,
db2, sqlserver.

you can extend kdb to have your own operators! (which can be written in k, c, or
c++)

based on a series of commands, kdb will load up your dll(and/or lib I can't
remember) and you can call the appropriate functions!

I was hoping Walter and Digital Mars People would be interested in it because it
is so small!
Jun 23 2004
parent reply "Matthew" <admin stlsoft.dot.dot.dot.dot.org> writes:
 Anyone here interested in k / kdb and being able to link with dmc??

 yes, you have to register to get the download but believe me it is a really

 programming environment and it is bloody fast!  (only about 200KB)

 3 files in c:\winnt

 http://www.kx.com/download/download.htm

 check out their customer list!

 http://www.kx.com/customers.htm

 the programming language (k) is similar to python, but it much much faster.

Neither of those sites offered any useful information with which one might learn about, or be impressed by, k. Can you offer a 1 paragraph motivating description of k?
 the database (kdb) was written in (k) and is 10 to 100 times faster than

 db2, sqlserver.

 you can extend kdb to have your own operators! (which can be written in k, c,

 c++)

 based on a series of commands, kdb will load up your dll(and/or lib I can't
 remember) and you can call the appropriate functions!

 I was hoping Walter and Digital Mars People would be interested in it because

 is so small!

Jun 24 2004
parent reply Anuj Goyal <Anuj_member pathlink.com> writes:
ok i'll try to impress in one P! 

K is a derivative of APL which is an interpreted language.  If you are familiar
with python, k has similar data structures: lists, dictionaries, and everything
is loosely typed.  Coming from the C++ world one would think this is a bad
thing, but there are only 4 major types.  int, float, string, symbol  (q the
next generation of the language has a few more types).  k has a built in
webserver, gui, charting engine, spreadsheet engine, etc etc. too much to list!
and best of all k is basically 2 files.  k.exe and k20.dll (on win32) which
total 182KB - there is nothing else (unless you install the database which is
50KB and can handle about 1000000 inserts per second).  There are obviously
downsides to k ... there are few libraries, the language can be a bit hard to
learn for noobs, and not that many people use it, however, those that use it as
am embedded analytical engine find none better.  k can also load up c functions
and vice-versa! you can extend the language any which way you want.

I hope this link is a bit better:   http://www.kx.com/document/kref.pdf

it is quite long but you will really get a good sense of what the language is
trying to accomplish.  It is clearly NOT meant as a replacement for C or C++,
but after using it for a while, you may change your mind.

There is also a very good folder with random k scripts that showcase the power
of k.

http://kx.com/a/k/examples/


And here is a small program in k  (just these five lines let me know if you have
trouble) (took me about 30 seconds to write this program)

/put in a file called my.k

v:!20
+/v
+/v%#v
\t +/!5000000
\t +/!9000000


v:!20           creates a vector of ints from 0 to 19 and assigns it to v

+/v             is the sum of the vector

+/v%#v          the sum (+/) of the vector elements divided (%) by the
number (#) of vector elements  i.e.  AVG of v! (9.5)

\t +/!5000000   times how long it takes k to sum 
the vector of ints from 0 to 4999999 
.. about 187 ms on my Dual PIII (each CPU is 933Mhz)

\t +/!9000000   times how long it takes k to sum 
the vector of ints from 0 to 8999999 
.. about 328 ms

THIS is how you invoke the k interpreter on your file!  
kinda like python  (remember no compiling is a plus!)

D:\>k my.k
K 3.2t 2004-03-23 Copyright (C) 1993-2004 Kx Systems
WIN32 2CPU 1023MB xxxxxxxxx.yyyy.ssssss.com 0 EVAL

190
9.5
187
328



now just for fun, try writing this program in C++ or Java or C or any language
of your choice and tell me how long it takes :)  remember it took me about 30
seconds for this one!
Jun 25 2004
parent reply Anuj Goyal <Anuj_member pathlink.com> writes:
Friday night and all my friends are busy my life sucks! 

ok but on another note, the reason I like both k and dmc is they are both very
fast, compact, and powerful.

I know Walter is releasing D on linux, but I wish he would release dmc on Linux!
It would be amazing!  maybe it could even compile the linux kernel!  But I don't
know how hard it would be for him to port it because the object, shared object,
and executable are all in different formats....  I'm sure he has been asked this
before but could dmc be ported to linux?
Jun 26 2004
parent reply John Reimer <jjreimer telus.net> writes:
Anuj Goyal wrote:

 Friday night and all my friends are busy my life sucks!
 
 ok but on another note, the reason I like both k and dmc is they are both
 very fast, compact, and powerful.
 
 I know Walter is releasing D on linux, but I wish he would release dmc on
 Linux!
 It would be amazing!  maybe it could even compile the linux kernel!  But I
 don't know how hard it would be for him to port it because the object,
 shared object,
 and executable are all in different formats....  I'm sure he has been
 asked this before but could dmc be ported to linux?

If I recall correctly, this has been discussed before. It appears that porting dmc to linux just isn't a priority at this time for Walter (can't imagine why <g>; D workload have anything to do with it? ). Porting to Linux has been the way to go for several compilers these days; OpenWatcom is already working to this end. Nonetheless, it would be great to see dmc on Linux, if it could ever happen. The compiler's got to be the fastest one out there. Later, John
Jun 26 2004
parent reply Anonymous <Anonymous_member pathlink.com> writes:
What about Mac OS? Symantec C++ was available on Mac OS in the past. If Walter
ported Digital Mars C++ to several platform, yeah! lots of people will kick gcc
away :)

In article <cbkuhm$15mq$1 digitaldaemon.com>, John Reimer says...
Anuj Goyal wrote:

 Friday night and all my friends are busy my life sucks!
 
 ok but on another note, the reason I like both k and dmc is they are both
 very fast, compact, and powerful.
 
 I know Walter is releasing D on linux, but I wish he would release dmc on
 Linux!
 It would be amazing!  maybe it could even compile the linux kernel!  But I
 don't know how hard it would be for him to port it because the object,
 shared object,
 and executable are all in different formats....  I'm sure he has been
 asked this before but could dmc be ported to linux?

If I recall correctly, this has been discussed before. It appears that porting dmc to linux just isn't a priority at this time for Walter (can't imagine why <g>; D workload have anything to do with it? ). Porting to Linux has been the way to go for several compilers these days; OpenWatcom is already working to this end. Nonetheless, it would be great to see dmc on Linux, if it could ever happen. The compiler's got to be the fastest one out there. Later, John

Jan 17 2005
next sibling parent Anuj Goyal <Anuj_member pathlink.com> writes:
i wholeheartedly agree :) (IMHO only 3 architectures will make it to 2010)

x86-64, POWER, IA64(HP has too much invested to let it die)

though in 2015 it may be a completely different ballgame!

In article <csgmim$1o9o$1 digitaldaemon.com>, Anonymous says...
What about Mac OS? Symantec C++ was available on Mac OS in the past. If Walter
ported Digital Mars C++ to several platform, yeah! lots of people will kick gcc
away :)

In article <cbkuhm$15mq$1 digitaldaemon.com>, John Reimer says...
Anuj Goyal wrote:

 Friday night and all my friends are busy my life sucks!
 
 ok but on another note, the reason I like both k and dmc is they are both
 very fast, compact, and powerful.
 
 I know Walter is releasing D on linux, but I wish he would release dmc on
 Linux!
 It would be amazing!  maybe it could even compile the linux kernel!  But I
 don't know how hard it would be for him to port it because the object,
 shared object,
 and executable are all in different formats....  I'm sure he has been
 asked this before but could dmc be ported to linux?

If I recall correctly, this has been discussed before. It appears that porting dmc to linux just isn't a priority at this time for Walter (can't imagine why <g>; D workload have anything to do with it? ). Porting to Linux has been the way to go for several compilers these days; OpenWatcom is already working to this end. Nonetheless, it would be great to see dmc on Linux, if it could ever happen. The compiler's got to be the fastest one out there. Later, John


Jan 26 2005
prev sibling parent "Matthew" <admin stlsoft.dot.dot.dot.dot.org> writes:
I'd love to have DMC++ on the Mac

"Anonymous" <Anonymous_member pathlink.com> wrote in message 
news:csgmim$1o9o$1 digitaldaemon.com...
 What about Mac OS? Symantec C++ was available on Mac OS in the past. 
 If Walter
 ported Digital Mars C++ to several platform, yeah! lots of people will 
 kick gcc
 away :)

 In article <cbkuhm$15mq$1 digitaldaemon.com>, John Reimer says...
Anuj Goyal wrote:

 Friday night and all my friends are busy my life sucks!

 ok but on another note, the reason I like both k and dmc is they are 
 both
 very fast, compact, and powerful.

 I know Walter is releasing D on linux, but I wish he would release 
 dmc on
 Linux!
 It would be amazing!  maybe it could even compile the linux kernel! 
 But I
 don't know how hard it would be for him to port it because the 
 object,
 shared object,
 and executable are all in different formats....  I'm sure he has 
 been
 asked this before but could dmc be ported to linux?

If I recall correctly, this has been discussed before. It appears that porting dmc to linux just isn't a priority at this time for Walter (can't imagine why <g>; D workload have anything to do with it? ). Porting to Linux has been the way to go for several compilers these days; OpenWatcom is already working to this end. Nonetheless, it would be great to see dmc on Linux, if it could ever happen. The compiler's got to be the fastest one out there. Later, John


Feb 08 2005