Krótkie rozmyślanie nad składnią języków...
Języki się różnią. Widać to choćby na przykładzie prostej klasy(Korzystającej z (N)Hibernate).
klasa.java:
- public class Klasa {
- public long getId() {
- return _id;
- }
- return _nazwa;
- }
- _nazwa = s;
- }
- protected long _id;
- }
klass.hbm.xml
- <?xml version="1.0"?>
- <hibernate-mapping>
- <class name="Klasa" table="Klasy">
- <id name="id" column="id">
- <generator class="native"/>
- </id>
- <property name="nazwa"/>
- </class>
- </hibernate-mapping>
Klasa.cs
- using NHibernate.Mapping.Attributes;
- [Class]
- class Klasa {
- public UInt64 Id {
- get {
- return id;
- }
- }
- public String Nazwa {
- get {
- return nazwa;
- }
- set {
- nazwa = value;
- }
- }
- [Generator(1, Class="native"]
- public long id;
- [Property]
- public String nazwa;
- }
Klasa.boo(Nie pamietam jak utwożyć ro property, ale to szczegół):
import NHibernate.Mapping.Attributes
[Class] \
class Klasa:
def constructor:
pass
[Boo.Lang.Property(Id)] \
[Id(0, ClassType=UInt64)] \
[Generator(1, Class="native"] \
id as ulong
[Boo.Lang.Property(Nazwa)] \
[Property] \
nazwa as String
Przy nemerle (nie znam składni), pewnie za pomocą makr, dałoby się to zapisać jeszcze krócej.
Kod nie był testowany ani kompliowany.
Komentarze do wpisu
Możesz śledzić odpowiedzi poprzez kanał RSS. Możesz dodać komentarz lub zostawić ślad (trackback) ze swojego bloga.
s
Link do książki o której wspominałem:
http://www.gigamonkeys.com/book/
08 marca 2006, 20:52:17
Dodaj komentarz