Hacker Newsnew | past | comments | ask | show | jobs | submit | Judyrabbit's commentslogin

x.y(argument).z should be OK in syntax, but it is hard to implement. we can not predict which data type y(argument) would return, and if it can perform dot operation further. We have implemented DQL(The syntax mentioned here) by translating to SQL. But we priovide only Chinese version now, we will release the English version serveral months later, please keep an eye out if you're interested


For coding and maintenance, compared to SPL, Python is THE nightmare(~-~). Python provides so many types of set data, each has its own adaptation scenarios and operation rules, which is dizzying. And the transitions between them are particularly smooth, and if you're not careful, you'll calculate out something you don’t recognize. A a result, programming basically relies on googling, and you don't know why even you are right, and you’ll have to google again next time. SPL has just one type of set data, which can fit in any case.


0. Python is not that bad!

1. Why not just use Rust or Julia?


Rust is not nearly as concise as python, it is worse nightmare than python. Python is not good enough, but compared to these, it is the best (except that the execution is slower). However , SPL is better than Python.


Sorry, I am a little confused, maybe I have learned wrong database theory. SQL is not based on relational algebra? Then what algebra SQL is based on(there definitely exists one)? and where does the term "relational database" come from? or where does the relational algebra exist in database?


As I wrote above:

> The reality is that it is based on a very distorted view of relational algebra as in it is based on tables, which are not relations but bags of records. It allows nulls to represents all sorts of information and the nulls are not treated in any uniform way.

Very simply, relations are sets and sets do not have duplicate elements. SQL tables are effectively bags, where duplicates are allowed.

The only reason you see unique elements in tables is that in implementations you can define primary keys, which forces uniqueness. If there is no primary key defined then you can add as many copies as you want of any record and the system doesn't care. The default for a relation is that the primary key is every field within the entire tuple, you do not have to define a primary key as the RDBMS does that automatically for you. No duplicates can occur.

The other aspect is that nulls do not occur. The interesting thing is this forces you to design your relations carefully so that you do not have nulls occurring. You will find that there are various people who hold contra views about this and you have to look at the subject and make up your own mind. Personally, I have found that proper design and removal of nulls brings a high efficiency to the resultant database.

One lesson learnt over decades of database design and system development using SQL and SQL DBMS's, is that you have to be extremely careful in your design. I have had to redesign poorly thought out databases that had been built by those who had not put in the time and effort to understand what relational algebra meant. I spent years learning the subject and still didn't delve into the extensive depths of the subject.

Relation database theory stemmed from Codd's original papers, which you should be able to download. But this was only the start of the theory related to this subject. Various developments occurred over the next few decades. You also had various people argue against relational algebra as a useful device for creating databases.

SQL databases and DBMS were supposed to be designed on Codd's papers but essentially didn't succeed, thus leading to the mess we see today.

There have also been various personality clashes in the field, which have lead to various controversies about database technology. I simply avoided that side of things wherever I could as they were not relevant to solving the problem space problems that I was tasked to solve. There are various well-known people who proselytise their particular views about database technologies and dismiss other opposing technologies. There have been various proposals to solve the problems being faced and the reality is that for any problem you have, it is up to you to choose what works effectively for you.

If I am going to use a database as part of the solution, I still design based on relational theory as this to me is the better option. Your situation will be different and you can choose whatever is appropriate for you. However, it is beneficial to delve into relational theory as it will give you alternative ideas to play with. There is plenty of resources out there that will show you both good and bad ideas in designing any database.

My choice of DBMS is PostgreSQL and it suite of tools. I would personally stay away from Microsoft and Oracle as I have had various issues (not problems but serious issues) with each of these besides being payware. There are others like SQLite, etc which appear to be useful for small systems on the basis of feedback of other people I know. I don't have any experience in the large with these and so cannot comment on the effectiveness of these systems.

Mind you, I have been out of the thick of it for a decade or so as I am effectively retired, even though I still actively do projects I am interested in when I feel like doing such work.


Oh, my God. That's terrible


lol


SQLite is not a pure Java program, it requires JNI to be called by java, which is inefficient and somewhat complex. esProc SPL is a pure Java program and can be integrated in Java Application seemlessly. For Java application, esProc is more suitable. and for non-Java program, SQLite is the best.


It has nothing to do with Excel itself, it just looks like Excel. It is a programmer language like Python,SQL. Although SPL can be used as a plugin to help Excel to deal with some complex calculation, its main use is to do big data and multi-data source computing in application systems


Thank you for your attention. I'm glad it brings back some good memories.


This is a little difficult for SPL,SPL is a little versatile. For example, it can be used as middleware to solve mixed computing over multiple data sources, Implement hot-swap microservices, Substitute stored procedure, Act as a data warehouse for high performance, As a computing engine for implementing the true lakehouse, accompany with OLTP database to achieve low-risk HTAP, ..., It can even be used as an Excel plugin to help with desktop analysis. Because computing is everywhere! Everyone only cares about their own issues, that's a fraction of what SPL is used for. But we can't predict what people will care when they come to the homepage, we have to list a little bit of everything, so, the home page is somewhat cluttered. Simply skip the items you are not interested in and read the links to the items you are interested in. Thanks very much.


Excel is not a program language,we can not code in Excel, VBA is still text-style code. SPL just looks like Excel, it is really a program language, you can code and debug in the grid.


I’m… not sure what you mean. This is also text style code. It’s just text in the cells.

With VBA you can make user defined functions and then use them in the cells, which off the top of my head seems superior to stuffing the implementation details in each cell where the same logic is likely to be reused.

I don’t feel like I get it from reading this readme. Things like the function option bit seem like harmful features at a glance. I feel like you lose a lot of credibility asserting that excel is not a programming language. It very much is. And both of them are based on the same key feature: using spatial coordinates instead of or in conjunction with a namespace. The debug thing is honestly minor.

It’s very counterproductive for you to be negative towards excel. Fans of excel are your MOST LIKELY INTERESTED USERBASE.


It has nothing to do with Excel itself, it just looks like Excel. It is a programmer language like Python,SQL. Although SPL can be used as a plugin to help Excel to deal with some complex calculation, its main use is to do big data and multi-data source computing in application systems


That does not make sense though. Excel is a programming language like Python. It is simply a pure functional reactive programming language that unless you do cursed VBA stuff has no side effects except returning the result of the calculation.

And the spatial name space is far more than a visual similarity. It’s a rare, core design feature!

Basically the only people who are familiar with the advantages of a spatial name space are excel pros. You should really be advertising how it expands on this. Not claiming there’s no relevance.


This post(https://blog.scudata.com/how-the-performance-improvement-by-...) also explains the principle of high speed of SPL, more generally


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: