第一次世界大戦後、この一帯がフランス委任統治領シリアとなると行政府の建物が作られた（現在のラッカ博物館）。1946年のシリア独立後の1950年代には朝鮮戦争で世界的な綿花景気が発生するとラッカの農業は前例のない成長を見せ、ユーフラテス川中流域の再耕地化が進んだ。以来、綿花はラッカ地方の主農産物である。都市の成長は一方で、残っていた古代や中世の廃墟が掘り返されて失われてしまうことも意味した。アッバース朝の宮殿だった場所は現在ほとんど住宅地化し、古代・中世のラッカ市街地（現在のミシュラブ地区 Mishlab）やアッバース朝時代の工房地区（現在のアル＝ムフタルタ地区 al-Mukhtalţa）も宅地化してしまい、発掘は部分的にしか行われていない。12世紀の城塞は1950年代に撤去され現在では時計塔のある広場 (Dawwār as-Sā'a) になっている。1980年代に入り、宮殿地区の緊急発掘とアッバース朝時代の市壁やモスク、バグダード門、記念碑、カスル・アル・バナートなどの保存が始まっている。
16世紀に入り、オスマン帝国がユーフラテス川沿岸のラッカに税関を置いたことで、ラッカの名が再び歴史に登場する。ラッカを中心にした新たな州「ラッカ州」が創設されたが、実際の州都は200km北の現トルコ領ウルファに置かれた。17世紀のオスマンの旅行者・作家 Evliyâ Çelebi は、ラッカではアラブ人とトルクメン人の遊牧民が廃墟の近くで宿営をしているだけだと書いている。1683年、城塞が部分的に再建されイェニチェリ軍団の分遣隊が置かれた。続く10年でラッカは部族定住政策の中心となった。ラッカが再び都市となったのは1864年であり、最初は軍の前哨として、次はロシア帝国の北カフカス征服から逃れてきたムスリムのチェチェン人難民やベドウィンの元遊牧民の定住地として、住民が定着し始めた。
Smalltalk は、クラスの定義をメッセージ式による実行環境へのクラスオブジェクトの登録として実現する。他の言語と異なりクラスオブジェクトの登録は単なる定義ではなく実行環境に対する操作である。1度クラスオブジェクトを登録してイメージファイルを保存すると、明示的にクラスオブジェクトを削除しないかぎりはクラスオブジェクトがイメージファイルに残り続ける。Smalltalk 環境に対するクラスオブジェクトの登録は次の様に記述する。"DerivedクラスをSmalltalk環境に登録する例"Object"基底クラスオブジェクト"subclass:        #Derived"Objectクラスの派生として登録するクラスオブジェクト名の指定"instanceVariableNames:'ia ib ic'"インスタンス(実体)オブジェクトに所属する変数名(インスタンス変数)の指定(空白区切り)"classVariableNames:    'ca cb cc'"クラスオブジェクトと共有する変数名(クラス変数)の指定(空白区切り)"poolDictionaries:    'pa pb pc'"クラスに所属する変数(プール変数)を取り込む辞書の指定(空白区切り)"category:        'example'."Smalltalk環境上でクラス名を表示する際にクラスが所属する分類の指定"poolDictionaries と category を除いては、C++ から派生した言語のクラス定義と概ね同じである。インスタンス変数はインスタンスメソッドのみから参照でき、クラス変数はクラスメソッドとインスタンスメソッドから参照できる。他の言語と異なりインスタンス変数をクラスメソッドから参照することはできない。Smalltalk におけるクラスの作成は、特殊構文ではなく単なるメッセージ送信である。クラスを登録する際のメッセージは、上記の例のように次のセレクターを使用することが多い。#subclass:instanceVariableNames:classVariableNames:poolDictionaries:category:しかし、クラスの登録はあくまでメッセージであり自由に作れるため、実行環境には大抵その他のメソッドが用意されている。例えば、近代的な Smalltalk 環境の一つ Pharo では、次のセレクターに対応したメソッドが用意されている。#subclass:#subclass:category:#subclass:instanceVariableNames:#subclass:instanceVariableNames:classVariableNames:poolDictionaries:category:#subclass:uses: #subclass:uses:instanceVariableNames:classVariableNames:poolDictionaries:category:#variableByteSubclass:instanceVariableNames:classVariableNames:poolDictionaries:category:#variableByteSubclass:uses:ginstanceVariableNames:classVariableNames:poolDictionaries:category:#variableSubclass:instanceVariableNames:classVariableNames:poolDictionaries:category:#variableSubclass:uses:ginstanceVariableNames:classVariableNames:poolDictionaries:category:#variableWordSubclass:instanceVariableNames:classVariableNames:poolDictionaries:category:#variableWordSubclass:uses:ginstanceVariableNames:classVariableNames:poolDictionaries:category:#weakSubclass:instanceVariableNames:classVariableNames:poolDictionaries:category:#weakSubclass:uses:ginstanceVariableNames:classVariableNames:poolDictionaries:category:クラスオブジェクトには、クラス変数とは別途、クラスオブジェクトが Class クラスから派生したインスタンスとして状態を持つためのインスタンス変数がある。このクラスオブジェクトのインスタンス変数はクラスオブジェクト内だけで共有され、インスタンスオブジェクトからは直接使用できない。Smalltalk 環境に対するクラスオブジェクトのインスタンス変数の登録は次の様に記述する。Derived class instanceVariableNames: 'ia ib ic'. "クラスオブジェクトのインスタンス変数名(空白区切り)"クラスオブジェクトがもつインスタンス変数には変数を登録した基底クラスと派生クラスで別々の変数領域が確保されるという特筆すべき点がある。これを使用して下記の様にクラスに所属するオブジェクトだけを保持する変数としてつかったりする事ができる。Object subclass: #Super.Super class instanceVariableNames: 'objects'.Super class methodsFor: 'accessing'!objects    ^ objects ifNil: [ objects := OrderedCollection new ].!!Super class methodsFor: 'instance creation'!new    | object |        object := super new.    self objects add: object.    ^ object.!!Super subclass: #Derived. Derived new.Derived objects size. "-> 1"Super objects size. "-> 0"